#include<iostream> #include<WinSock2.h> using namespace std;
#pragma comment(lib,"ws2_32.lib")
int main() { cout << "Client" << endl; WORD wVersionRequested; WSADATA wsadata; int err; wVersionRequested = MAKEWORD(2, 2);
err = WSAStartup(wVersionRequested, &wsadata); if (err) { printf("WSAStartup errnum: %d\n", GetLastError()); return err; }
if (LOBYTE(wsadata.wVersion) != 2 || HIBYTE(wsadata.wVersion) != 2) { printf("LOBYTE errnum: %d\n", GetLastError()); WSACleanup(); return -1; }
SOCKET sockCli; sockCli = socket(AF_INET, SOCK_DGRAM, 0); if (INVALID_SOCKET == sockCli) { printf("socket err : %d", GetLastError()); return -1; }
SOCKADDR_IN addrSrv; addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(9988);
int len = sizeof(SOCKADDR_IN); char sendBuf[100] = "hello"; char recvBuf[100] = { 0 };
sendto(sockCli, sendBuf, sizeof(sendBuf) + 1, 0, (SOCKADDR*)&addrSrv, len);
recvfrom(sockCli, recvBuf, 100, 0, (SOCKADDR*)&addrSrv, &len);
cout << recvBuf << endl; system("pause");
return 0; }
|