【TCP通信】多客户端连接一个服务器端总结
来源:互联网 发布:国产复合弓 知乎 编辑:程序博客网 时间:2024/05/21 00:53
Windows下TCP通信,多个客户端连接服务器端。
一、服务器端流程实现如下:
1、通过socket函数,创建基于流式类型的socket,可名为serverSocket;
2、调用bind函数,绑定本地的监听端口号和本地IP地址;
3、调用listen函数,开始监听客户端请求。其中该函数第二个参数指定了最大连接客户端数目;
4、通过调用AfxBeginThread(ThreadFun, 0),实现创建线程处理监听后客户端请求;
5、关闭serverSocket;
如上流程中,通过创建线程办法实现对客户端请求的处理。
线程处理函数ThreadFun的实现流程如下:
1)调用accept等待客户端请求,并返回客户端通信的SOCKET,可名为clientSocket;
2)客户端请求接收成功后,继续调用AfxBeginThread(ThreadFun, 0)创建线程,实现对其他客户端请求做处理;
3)调用recv接收数据;
4)检测接收到数据的合法性,并调用send函数返回响应数据;
5)调用closesocket(clientSocket),关闭得到到客户端请求的socket。
二、客户端实现流程
通常流程没有加入超时处理,如下通过其他机制实现了客户端接收消息响应超时的处理。
实现流程如下:
1、创建socket基于流式SOCKET类型的SOCKET。
2、调用connect连接服务器
3、调用send发送请求数据;
4、通过select函数判断Socket接收数据是否超时。其中需要使用到FD_SET和TIME_VAL类型。
5、调用closesocket关闭客户端Socket。
- 【TCP通信】多客户端连接一个服务器端总结
- 【TCP通信】多客户端连接一个服务器端总结
- 【Linux】TCP 客户端与服务器端通信
- Python TCP客户端和服务器端通信
- Linux socket编程入门及客户端服务器端通信实现 – 提高篇:TCP连接过程分析
- 多个客户端与一个服务器端通信的问题
- 使用fifo实现一个服务器端多个客户端通信
- C#一个服务器端多个客户端Socket通信
- 客户端与服务器端通信方式总结
- java 客户端与c++服务器端tcp通信 demo
- 基于TCP的客户端与服务器端之间的通信
- C++ 简单的 Tcp 实现[socket] 服务器端与客户端通信
- C++ Socket网络通信实现一个服务器端和多个客户端的通信
- TCP服务器端怎么判断客户端已经关闭了连接?
- [python] TCP客户端/服务器端
- TCP 客户端和服务器端
- Mina长连接框架实现Android客户端与服务器端通信
- Mina长连接框架实现Android客户端与服务器端通信
- JAVA中SERIALVERSIONUID的解释
- vi/vim多行注释和取消注释
- 我对linux理解之input 二
- 提示:找不到 org/springframework/dao/support/PersistenceExceptionTranslator
- C#操作Access之创建mdb库浅析
- 【TCP通信】多客户端连接一个服务器端总结
- C#中怎么判断字符串为空的几种方法
- 我对linux理解之v4l2
- C#操作Access之按列读取mdb浅析
- 使用XMLReader、XMLDocument和DataSet读取xml文件及效率
- java中的“堆“和'栈”
- vs2010 数据库文件.sdf出错
- maven一些基本操作
- android ANR 分析