下面这段代码实现了最基本的server代码,只适用于初学者研究最基本的socket服务端的基本流程。
同一时间只能对一个客户端进行通信。若想实现多客户端连接需要引入多线程的概念。
与本章配套的还有另外一篇文章“Windows C语言 Socket编程 client端(客户端)–初级(简单版)”
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
static SOCKET socket_of_server; //服务端(本地)的socket
static struct sockaddr_in s_sin; //用于存储本地创建socket的基本信息
static SOCKET socket_of_client; //客户端(远程)的socket
static struct sockaddr_in c_sin; //用于存储已连接的客户端的socket基本信息
static int c_sin_len; //函数accept的第三个参数,c_sin的大小。
static void analysis(char* data, int datal);
int main(int argc, char* argv[])
{
char revData[255];//这个地方一定要酌情设置大小,这决定了每次能获取多少数据
int ret;//recv函数的返回值 有三种状态每种状态的含义在下方有解释
in