// UDPReceiver.cpp // A simple example for receiveng UDP packets #include #include #define PORTNUM 50000 /* random port number, we need something */ int main(int argc, char* argv[]) { SOCKET s; WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { /* Tell the user that we could not find a usable */ /* WinSock DLL. */ return 1; } char myname[256]; struct sockaddr_in sa; struct hostent *hp; memset(&sa, 0, sizeof(struct sockaddr_in)); /* clear our address */ gethostname(myname, sizeof(myname)); /* who are we? */ hp = gethostbyname("localhost"); /* get our address info */ if (hp == NULL) /* we don't exist !? */ return(INVALID_SOCKET); sa.sin_family = hp->h_addrtype; /* this is our host address */ sa.sin_port = htons(PORTNUM); /* this is our port number */ s = socket(AF_INET, SOCK_DGRAM, 0); /* create the socket */ if (s == INVALID_SOCKET) return INVALID_SOCKET; /* bind the socket to the internet address */ if (bind(s, (struct sockaddr *)&sa, sizeof(struct sockaddr_in)) == SOCKET_ERROR) { closesocket(s); return(INVALID_SOCKET); } struct sockaddr from ; int fromlen = sizeof(from); char inStr[100]; int ret = recvfrom(s, inStr, sizeof(inStr), 0, &from, &fromlen); printf("Received: %s", inStr); return 1; }