新建项目
新建一个echo_server项目
编程
#include <iostream>
#include <WinSock2.h>
using namespace std;
int main(int argc, char* argv[]) {
WSADATA wsaData;
SOCKET servSock;
const int BUF_SIZE = 30;
char message[BUF_SIZE];
int strLen, clntAdrSz;
SOCKADDR_IN servAddr, clntAddr;
if (argc != 2)
{
cout << "Usage:" << argv[0] << "<port>" << endl;
}
if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0)
{
cout << "WSAStartup() error" << endl;
}
servSock = socket(PF_INET, SOCK_STREAM, 0);
if (servSock == INVALID_SOCKET)
{
cout << "UDP socket creation error" << endl;
}
memset(&servAddr, 0, sizeof(servAddr));
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(atoi(argv[1]));
while (1)
{
clntAdrSz = sizeof(clntAddr);
strLen = recvfrom(servSock, message, BUF_SIZE, 0, (SOCKADDR*)&clntAddr, &clntAdrSz);
sendto(servSock, message, strLen, 0, (SOCKADDR*)&clntAddr, sizeof(clntAddr));
}
closesocket(servSock);
WSACleanup();
system("pause");
return 0;
}
依赖库的配置
在执行前需要为项目添加名为ws2_32.lib的依赖库。
选择uecho_server右击鼠标,选择最下方的属性,进入如下界面:
下拉菜单中选择编辑,进入下面的界面:
在附加依赖项中添加ws2_32.lib,确认。
配置完成,可正常执行。