服务端:
#include<iostream>
#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib")
int main()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(1, 1), &wsaData);//TODO:返回值处理
SOCKET serv_sock = socket(PF_INET,SOCK_STREAM,0);
sockaddr_in serv_adr;
memset(&serv_adr,0,sizeof(serv_adr));
serv_adr.sin_family = AF_INET;
serv_adr.sin_addr.s_addr = INADDR_ANY;
serv_adr.sin_port = htons(9527);
bind(serv_sock,(sockaddr*)&serv_adr,sizeof(serv_adr));
listen(serv_sock, 1);
sockaddr_in servaddr;
int nlen = sizeof(servaddr);
while (true)
{
SOCKET SockCon = accept(serv_sock, (sockaddr*)&servaddr, &nlen);
char sendBuffer[100] = {0};
sprintf_s(sendBuffer, 100, "hello");
int len = send(SockCon, sendBuffer, strlen(sendBuffer), 0);
char recvBuffer[100] = { 0 };
len = recv(SockCon, recvBuffer, 100, 0);
printf("recvBuffer=%s\n", recvBuffer);
closesocket(SockCon);
}
closesocket(serv_sock);
WSACleanup();
return 0;
}
客户端
WSADATA wsaData;
WSAStartup(MAKEWORD(1, 1), &wsaData);
SOCKET Cli_sock = socket(PF_INET,SOCK_STREAM,0);
if (Cli_sock == INVALID_SOCKET)
{
AfxMessageBox(L"Create sock failed!!!");
return;
}
sockaddr_in Cli_adr;
Cli_adr.sin_family = AF_INET;
Cli_adr.sin_port = htons(9527);
Cli_adr.sin_addr.s_addr = inet_addr("192.168.1.123");
connect(Cli_sock, (sockaddr*)&Cli_adr, sizeof(Cli_adr));
char recvBuffer[100] = { 0 };
int len = recv(Cli_sock, recvBuffer, 100, 0);
CString str;
str.Format(L"%s", recvBuffer);
MessageBox(str);
char sendBuffer[100] = "sadsadsa";
len = send(Cli_sock, (char*)sendBuffer, 100, 0);
closesocket(Cli_sock);
WSACleanup();