1. 新建项目
![](https://img.haomeiwen.com/i2686599/57b6118d487fe252.png)
2. 右击“源文件”, 新建一个.cpp文件,如下图
![](https://img.haomeiwen.com/i2686599/5468119ab8421731.png)
然后弹出如下对话框
![](https://img.haomeiwen.com/i2686599/60b20224a2a30645.png)
点击添加即可
3. 然后在.cpp文件中添加如下代码
#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]));
cout << "server start..." << endl;
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;
}
直接运行上面代码,是编译不过的,需要添加依赖库。
4. 添加依赖库
执行前需要为项目添加名为ws2_32.lib的依赖库。
选择myserver, 鼠标右击,选择最下方的属性,
![](https://img.haomeiwen.com/i2686599/2bb90f87a01d1ca1.png)
进入如下界面
![](https://img.haomeiwen.com/i2686599/3c07f11253ece8e9.png)
点击下拉菜单,添加依赖库,如下界面
![](https://img.haomeiwen.com/i2686599/005294cc15f615fb.png)
以上依赖项配置完成后,再编译,运行,OK了
- 参考
网友评论