C++ Socket UDP "Hello World!"


//////////////////////////////////////////////////////////////////////////

// UDPServer.cpp



#include <stdio.h>

#include <WINSOCK2.H>



#pragma comment(lib,"WS2_32.lib")

#define BUF_SIZE	64



int main(void)

{

	WSADATA	wsd;

	SOCKET	s;

	int		nRet;



	//          

	if(WSAStartup(MAKEWORD(2,2),&wsd) != 0)

	{

		printf("WSAStartup failed !
"); return 1; } // s = socket(AF_INET,SOCK_DGRAM,0); if(s == INVALID_SOCKET) { printf("socket() failed ,Error Code:%d
",WSAGetLastError()); WSACleanup(); return 1; } SOCKET socketSrv = socket(AF_INET,SOCK_DGRAM,0); SOCKADDR_IN addrSrv; SOCKADDR_IN addrClient; char buf[BUF_SIZE]; int len = sizeof(SOCKADDR); // ZeroMemory(buf,BUF_SIZE); addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY); addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(5000); // nRet = bind(socketSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); if(SOCKET_ERROR == nRet) { printf("bind failed !
"); closesocket(s); WSACleanup(); return -1; } // nRet = recvfrom(socketSrv,buf,BUF_SIZE,0,(SOCKADDR*)&addrClient,&len); if(SOCKET_ERROR == nRet) { printf("recvfrom failed !
"); closesocket(s); WSACleanup(); return -1; } // printf("Recv From Client:%s
",buf); // sendto(socketSrv,"UDP Hello World !",sizeof("UDP Hello World !"),0,(SOCKADDR*)&addrClient,len); closesocket(s); WSACleanup(); return 0; }
//////////////////////////////////////////////////////////////////////////

// UDPClient.cpp



#include <stdio.h>

#include <WINSOCK2.H>



#pragma comment(lib,"WS2_32.lib")

#define BUF_SIZE	64



int main(void)

{

	WSADATA	wsd;	

	SOCKET	s;



	//          

	if(WSAStartup(MAKEWORD(2,2),&wsd) != 0)

	{

		printf("WSAStartup failed !
"); return 1; } // s = socket(AF_INET,SOCK_DGRAM,0); if(s == INVALID_SOCKET) { printf("socket() failed, Error Code:%d
",WSAGetLastError()); WSACleanup(); return 1; } char buf[BUF_SIZE]; // SOCKADDR_IN servAddr; // SOCKET sockClient = socket(AF_INET,SOCK_DGRAM,0); int nRet; ZeroMemory(buf,BUF_SIZE); strcpy(buf,"UDP Hello World !"); // servAddr.sin_family = AF_INET; servAddr.sin_addr.S_un.S_addr = inet_addr("192.168.1.254"); servAddr.sin_port = htons(5000); // int nServAddLen = sizeof(servAddr); if(sendto(sockClient,buf,BUF_SIZE,0,(sockaddr *)&servAddr,nServAddLen) == SOCKET_ERROR) { printf("recvfrom() failed:%d
",WSAGetLastError()); closesocket(s); WSACleanup(); return 1; } nRet = recvfrom(sockClient,buf,BUF_SIZE,0,(sockaddr *)&servAddr,&nServAddLen); if(SOCKET_ERROR == nRet) { printf("recvfrom failed !
"); closesocket(s); WSACleanup(); return -1; } // printf("Recv From Server:%s
",buf); closesocket(s); WSACleanup(); return 0; }