首页 > TAG信息列表 > DataHeader

10.为客户端添加输入线程(Thread)

客户端开启一个线程,使得用户可以输入指令 服务端: //vc的第一套socket,第二套socket,可能存在冲突 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARNINGS //也可以放到工程属性,预处理中 #include <windows.h> #include <WinSock2.h> #include <stdio.h> #includ

服务端升级为select模型处理多客户端2

对fd_set的理解,可以参考下:https://www.cnblogs.com/wuyepeng/p/9745573.html int select(int nfds, fd_set* readset, fd_set* writeset, fe_set* exceptset, struct timeval* timeout); 参数: nfds 需要检查的文件描述字个数(集合中最大描述符+1) readset

Cpp-Socket网络编程(七)网络消息接收长度问题

在复杂网络环境下,网络消息的长度并不总是固定的,网络数据包可分为固长数据、变长数据、粘包/拆包、少包/组包等情况。其中,粘包指,例如每次发送500字节数据到客户端或者服务端,但是由于网络延迟等原因,服务器端可能一次收到两个消息,即1000字节,也就是网络数据包粘在一起了,因此需要一

客户端升级为select网路模型

服务器端: #include<WinSock2.h>#include<Windows.h>#include<vector>#include<stdio.h>#include<iostream>#pragma comment(lib,"ws2_32.lib")enum CMD { CMD_Login, CMD_Login_Result, CMD_Logout, CMD_Logout_Result, CMD_New_User_J