Jump to content

{Hyroshima)

Members
  • Content count

    39
  • Joined

  • Last visited

Community Reputation

0 Comum

About {Hyroshima)

  • Rank
    I'm always learning!

Informações Pessoais

  • Sexo
    Masculino
  1. bom-dia pessoal, não tenho conhecimento para fazer essa conversão ou deixar compatível, se alguém puder por favor fazer isso pra mim ficarei agradecido de coração. meu problema é o código abaixo que está usando biblioteca do windows WINSOCK2.H para fazer um ping no ip fornecido por um comando ping("ip") e retornar uma msg igual ao ping do windows, gostaria se possível que o mesmo fosse utilizado em linux (centos) mantendo a mesma funcionalidade ? ping.c #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #include <WINSOCK2.H> #define DEF_BUF_SIZE 1024 #define IP_HEADER_SIZE 20 #define ICMP_HEADER_SIZE 12 typedef struct _ICMP_HEADER { BYTE bType; BYTE bCode; USHORT nCheckSum; USHORT nId; USHORT nSequence; UINT nTimeStamp; }ICMP_HEADER, *PICMP_HEADER; USHORT GetCheckSum(LPBYTE lpBuff, DWORD dwSize) { DWORD dwCheckSum = 0; USHORT* lpWord = (USHORT*)lpBuff; while(dwSize > 1) { dwCheckSum += *lpWord++; dwSize -= 2; } if(dwSize ==1) dwCheckSum += *((LPBYTE)lpBuff); dwCheckSum = (dwCheckSum >> 16) + (dwCheckSum & 0XFFFF); return (USHORT)(~dwCheckSum); } BOOL Ping(char* lpDestIP, int *nRet_, int *nTime_) { int nTime = 0; int ret = 0; char ICMPPack[ICMP_HEADER_SIZE] = {0}; char szRcvBuff[DEF_BUF_SIZE] = {0}; int i = 0; int nRet = 0; int nLen = 0; int nError = 0; SOCKET s; PICMP_HEADER pRcvHeader; SOCKADDR_IN SourceSockAddr; SOCKADDR_IN DestSockAddr; PICMP_HEADER pICMPHeader; DestSockAddr.sin_family = AF_INET; DestSockAddr.sin_addr.S_un.S_addr = inet_addr(lpDestIP); DestSockAddr.sin_port = htons(0); pICMPHeader = (PICMP_HEADER)ICMPPack; pICMPHeader->bType = 8; pICMPHeader->bCode = 0; pICMPHeader->nId = (USHORT)GetCurrentProcessId(); pICMPHeader->nCheckSum = 0; pICMPHeader->nTimeStamp = 0; s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); nTime = 1000; ret = setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (char*)&nTime, sizeof(nTime)); for(i=0; i <1; i++) { pICMPHeader->nCheckSum = 0; pICMPHeader->nSequence = i; pICMPHeader->nTimeStamp = GetTickCount(); pICMPHeader->nCheckSum = GetCheckSum((LPBYTE)(ICMPPack), ICMP_HEADER_SIZE); nRet = sendto(s, ICMPPack, ICMP_HEADER_SIZE, 0, (SOCKADDR*)&DestSockAddr, sizeof(DestSockAddr)); if(nRet == SOCKET_ERROR) { return FALSE; } nLen = sizeof(SOCKADDR_IN); if(nRet == SOCKET_ERROR) { return FALSE; } nRet = recvfrom(s, szRcvBuff,DEF_BUF_SIZE,0,(SOCKADDR*)&SourceSockAddr,&nLen); if(nRet == SOCKET_ERROR) { return FALSE; } pRcvHeader = (PICMP_HEADER)(szRcvBuff + IP_HEADER_SIZE); nTime = GetTickCount() - pRcvHeader->nTimeStamp; //printf("Return Message: %s bytes=%d time=%dms\n", inet_ntoa(SourceSockAddr.sin_addr), nRet, nTime); *nRet_ = nRet; *nTime_ = nTime; } return TRUE; } a outra estrutura: #include "ping.c" BUILDIN_FUNC(ping) { // const char *name; char _cmd[500]; int nRet=0, nTime=0; // // name = script_getstr(st,2); Ping((char *)name, &nRet, &nTime); if( nRet <= 0 || nTime < 0 ) sprintf(_cmd,"Return Message: %s fail to connect", (char *)name); else sprintf(_cmd,"Return Message: %s bytes=%d time=%dms\n", (char *)name, nRet, nTime); // script_pushstrcopy(st, _cmd); return 0; } BUILDIN_DEF(ping,"s") Desde já muito obrigado, fiz algumas buscas mas não achei nada que possa me ajudar a fazer essa conversão ou até mesmo redigir o código para funcionar em linux.
  2. {Hyroshima)

    Que fonte seria essa?

    Nossa cara que ferramenta suprema :D, como você disse, eu salvei a imagem em jpeg, dai fiz upload da imagem lá, depois ele pede pra você identificar os caracteres/letras da imagem, tipo em alguns pontos (a do i por exemplo) ele identifica o pingo do i como um caractere dai eu ignorei e fui confirmando as outras, o L foi confundido com um ! dai eu só concertei, pra confirmar é só clickar em cima da parte da imagem que o site separa e então você rasta de leve pra algum dos lados para confimar. Muito Obrigado !! @IMG Sim tem razão sobre a foto q postei aqui achei q ao fazer upload o próprio sistema do fórum iria expor ela ao invés de por pra download, da próxima hospedo em servidor de img ^^.
  3. {Hyroshima)

    Que fonte seria essa?

    Olá, desculpa se postei na área errada, estava procurando saber qual seria o nome da fonte que foi utilizada na imagem abaixo. Desde já grato! scr_logo - Cópia.bmp
  4. {Hyroshima)

    C# Inserir dados SQL com arquivo externo .txt

    Obrigado Pela atenção, porem eu me dei conta que me referi a linguagem errada, seria em VB e não em C# :(
  5. boa tarde, tenho pouco conhecimento ainda na linguagem, então como não consegui fazer funcionar, gostaria de pedir um aplicativo que inserisse no banco de dados as informações contida em um arquivo de texto (externo) o conteúdo do arquivo são valores inteiros por linha: Ex: 402 416 430 444 459 474 489 504 520 536 552 568 Apenas preciso pegar cada valor e inserir no banco de dados com a seguinte estrutura: CREATE TABLE IF NOT EXISTS `statpoint_db` ( `StatPoints` double unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`StatPoints`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Desde já Grato!
  6. Boa tarde pessoal, tenho uma dúvida referente a atualização de bios... No site da fabricante consta várias atualizações, porem gostaria de saber se é preciso fazer cada atualização independente ou pego a ultima atualização q irá conter todos os outros updates juntos ?
  7. {Hyroshima)

    Trocar nome de exibição (nome do usuário)

    Sim desse jeito mesmo. Obs: Desculpa a demora, estou morando fora e acabei esquecendo! ;D
  8. {Hyroshima)

    Trocar nome de exibição (nome do usuário)

    Gostaria de alterar meu Nick atual (Nalson DG) para {Hyroshima), motivo: normalmente não uso meu nome real (fiz isso sem querer) e meu nick mais conhecido é o que pedir para trocar. Agradeço a moderação (Admin) ;D.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.