源代码:C++TCP客户端服务端通信资源-CSDN下载
另一篇:在终端/vscode下实现C++TCP通讯
终端下实现C++tcp客户端与服务端-CSDN博客
Socket套接字
模板理解:
是计算机网络中实现进程间通信的核心机制,本质上是对网络通信端点的抽象
通过IP地址+端口号唯一标识通信端点
构成“五元组”(协议、源IP、源端口、目标IP、目标端口)以精准定位通信双方
需要添加两个头文件(vs环境)
| 宏定义 | 针对的库/API | 典型警告函数案例 | 推荐使用场景 | 定义位置要求 |
|---|---|---|---|---|
_CRT_SECURE_NO_WARNINGS | C 标准库 | scanf, strcpy | 需兼容旧代码或跨平台项目 | 所有头文件之前 |
_WINSOCK_DEPRECATED_NO_WARNINGS | Windows Sockets (Winsock) | inet_addr, gethostbyname | 需维护旧网络代码或快速原型开发 | Winsock 头文件之前 |
或者项目 右键 属性 C++ SDL关掉

服务端:
服务端代码:
#define _CRT_SECURE_NO_WARNINGS //在VS能用scanf
#define _WINSOCK_DEPRECATED_NO_WARNINGS //维护旧代码
#include <stdio.h>
//#include<iostream>
#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib")//using namespace std;
int main()
{//windows上使用开启网络权限 初始化WSADATA wsaData;//Winsock(Windows Sockets);网络编程APIWSAStartup(MAKEWORD(2, 2), &wsaData);//请求 Winsock 2.2 版本/*使用Winsock库前必须调用WSAStartup();初始化退出时需用WSACleanup()释放 *///cout<<"hello"<<'\n';//1.创建socket套接字SOCKET listen_socket = socket(AF_INET, SOCK_STREAM, 0);//IPv4 流式协议 保护协议0if (INVALID_SOCKET == listen_socket){printf("create listen socket failed! %d\n&