1、vs2019下添加ws2_32.lib
 右鍵項目—>屬性—>鏈接器—>輸入—>附加依賴項,點擊編輯,添加ws2_32.lib庫文件
 
 或者是在cpp源文件中用 #pragma comment(lib,“ws2_32.lib”)來代替。
 服務器端源程序
 
#include<iostream>
#include<stdio.h>
#include<WinSock2.h>
#include<string.h>using namespace std
;#pragma comment(lib,"ws2_32.lib")
#pragma warning(disable:4996)int main()
{      WORD sockVersion 
= MAKEWORD(2, 2);WSAData wsaData
;if (WSAStartup(sockVersion
, &wsaData
) != 0) {return 0;}SOCKET slisten 
= socket(AF_INET
, SOCK_STREAM
, IPPROTO_TCP
);if (slisten 
== INVALID_SOCKET
) {printf("socket error!");return 0;}sockaddr_in sin
;sin
.sin_family 
= AF_INET
;sin
.sin_port 
= htons(8888);sin
.sin_addr
.S_un
.S_addr 
= INADDR_ANY
;if (bind(slisten
, (LPSOCKADDR
)&sin
, sizeof(sin
)) == SOCKET_ERROR
) {printf("bind error!");}if (listen(slisten
, 5) == SOCKET_ERROR
) {printf("listen error!");return 0;}SOCKET sClient
;sockaddr_in remoteAddr
;int nAddrlen 
= sizeof(remoteAddr
);char revData
[255];while (true) {printf("等待連接。。。。。\n");sClient 
= accept(slisten
, (SOCKADDR
*)&remoteAddr
, &nAddrlen
);if (sClient 
== INVALID_SOCKET
) {printf(" 接受錯誤!");continue;}printf("接收到一個連接:%s\r\n", inet_ntoa(remoteAddr
.sin_addr
));int ret 
= recv(sClient
, revData
, 255, 0);if (ret
> 0) {revData
[ret
] = 0x00;printf(revData
);}const char* sendData 
= "你好,TCP客戶端!\n";send(sClient
, sendData
, strlen(sendData
), 0);closesocket(sClient
);}closesocket(slisten
);WSACleanup();return 0;
}
 
 客戶端源程序
 
#include<iostream >
#include<stdio.h>#include<WinSock2.h>#include<cstring>
using namespace std
;#pragma comment(lib,"ws2_32.lib")int main()
{WORD sockVersion 
= MAKEWORD(2, 2);WSADATA data
;if (WSAStartup(sockVersion
, &data
) != 0) {return 0;}while (true) {SOCKET sclient 
= socket(AF_INET
, SOCK_STREAM
, IPPROTO_TCP
);if (sclient 
== INVALID_SOCKET
) {printf("invalid socket!");return 0;}sockaddr_in serAddr
;serAddr
.sin_family 
= AF_INET
;serAddr
.sin_port 
= htons(8848);serAddr
.sin_addr
.S_un
.S_addr 
= inet_addr("");if (connect(sclient
, (sockaddr
*)&serAddr
, sizeof(serAddr
)) == SOCKET_ERROR
){printf("connect error!");closesocket(sclient
);return 0;}string data
;cin 
>> data
;const char* sendData
;sendData 
= data
.c_str();     send(sclient
, sendData
, strlen(sendData
), 0);char recData
[255];int ret 
= recv(sclient
, recData
, 255, 0);if (ret 
> 0) {recData
[ret
] = 0x00;printf(recData
);}closesocket(sclient
);}WSACleanup();return 0;}
 
                            總結
                            
                                以上是生活随笔為你收集整理的在VS2019 C++ 中实现Socket通信,添加ws2_32.lib静态库的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。