// UDPReceiver.cpp
// A simple example for receiveng UDP packets 

#include <stdio.h>
#include <Winsock2.h>

#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;
}



