unsigned char sendbuf[11] = "";
unsigned char recvbuf[DEFAULT_BUFLEN] = "";
SOCKET S;
sockaddr_in SA;
int SA_Size = sizeof(SA);
int iResult;
int recvbuflen = DEFAULT_BUFLEN;
WSAData WSData;
WSAStartup(0x101,&WSData);
S = socket(AF_INET,SOCK_DGRAM,0);
SA.sin_family=AF_INET;
SA.sin_port=htons(2323);
SA.sin_addr.S_un.S_addr=inet_addr(_ip.c_str());
//filling sendbuf here..
//sending sendbuf
sendto(S, (char*)sendbuf,sizeof(sendbuf), 0,(struct sockaddr *)&SA, sizeof(SA))
//receiving answer
fd_set rfds;
struct timeval tv;
tv.tv_sec = _timeout;
tv.tv_usec = 0;
FD_ZERO(&rfds);
FD_SET(S,&rfds);
if (select((int)S+1, &rfds, NULL, NULL, &tv) > 0)
{
//getting data from
iResult=recvfrom(S, (char*)recvbuf, recvbuflen, 0, (struct sockaddr *)&SA, &SA_Size);
closesocket(S);
WSACleanup();
}
...
unsigned char sendbuf[11] = "";
unsigned char recvbuf[DEFAULT_BUFLEN] = "";
SOCKET S;
sockaddr_in SA;
int SA_Size = sizeof(SA);
int iResult;
int recvbuflen = DEFAULT_BUFLEN;
WSAData WSData;
WSAStartup(0x101,&WSData);
S = socket(AF_INET,SOCK_DGRAM,0);
SA.sin_family=AF_INET;
SA.sin_port=htons(2323);
SA.sin_addr.S_un.S_addr=inet_addr(_ip.c_str());
//filling sendbuf here..
//sending sendbuf
sendto(S, (char*)sendbuf,sizeof(sendbuf), 0,(struct sockaddr *)&SA, sizeof(SA))
//receiving answer
fd_set rfds;
struct timeval tv;
tv.tv_sec = _timeout;
tv.tv_usec = 0;
FD_ZERO(&rfds);
FD_SET(S,&rfds);
if (select((int)S+1, &rfds, NULL, NULL, &tv) > 0)
{
//getting data from
iResult=recvfrom(S, (char*)recvbuf, recvbuflen, 0, (struct sockaddr *)&SA, &SA_Size);
closesocket(S);
WSACleanup();
}
...
To copy to clipboard, switch view to plain text mode
Bookmarks