服务器端: #include <stdio.h> #include <winsock2.h> //和网络通信相关的函数的声明,类型的声明,常量的定义等都在此头文件中 #pragma comment(lib,"ws2_32.lib") int main() { //第一步:初始化Socket函数库 WSADATA wsaData; //向系统请求使用2.2版本的Socket函数库,wsaData用于接收winsocket详细信息 WSAStartup(MAKEWORD(2,2),&wsaData); //第二步:创建流式套接字,相当于买部手机 //AF_INET:使用英特网地址家族,即TCP/IP协议族 //三种常用的套接字类型: //流(式)套接字:SOCK_STREAM ,用于实现基于TCP协议的通信,数据的传输采用字节流的方式传输 //数据报套接字:SOCK_DATAGRAM, 用于实现基于UDP协议的通信,数据采用数据报的方式传输 //原始套接字:SOCK_RAW, 用于实现基于IP协议的通信,较底层的通信,用的较少,一般用于实现抓包等网络嗅探功能 //0:默认协议编号, SOCKET sockListen=socket(AF_INET,SOCK_STREAM,0); if(INVALID_SOCKET == sockListen) { printf("创建监听套接字失败!