【TCP通信】多客户端连接一个服务器端总结
2013-02-25 22:04
330 查看
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。
一、服务器端流程实现如下:
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通信】多客户端连接一个服务器端总结
- Linux socket编程入门及客户端服务器端通信实现 – 提高篇:TCP连接过程分析
- TCP中多个客户端一个服务端通信(长连接)
- Windows SOCKET编程 2-----(面向连接的通信TCP)---客户端
- 客户端与服务器端通信方式总结
- 服务器端与客户端TCP连接入门(二)
- 基于select模型的tcp服务器------一个服务器如何与多个客户端进行通信?
- 使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
- 基于linux poll模型的tcp服务器------一个服务器如何与多个客户端进行通信?
- Socket TCP Server一个端口可以有多少个长连接?受到什么影响?linux最大文件句柄数量总结
- Java Socket TCP 通信,实现聊天室,服务器端指定客户端发送消息
- 如何用.net Remoting实现一个客户端需要连接多个服务器端?
- 一个支持tcp多客户端连接的例子,轻松认识linux select函数的基本原理和使用方法
- [C语言]一个很实用的服务端和客户端进行TCP通信的实例
- 利用TCP从客户端往服务器端发送一个文件过程中发生的问题
- 基于TCP的客户端与服务器端之间的通信
- lesson 11:使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
- db2的编目(建立一个客户端到服务器端的连接)
- 一个基于VB.net的异步Socket网络TCP通信可防止任意一端意外终止TCP连接的类,。
- 客户端C和服务器S之间建立了一个TCP连接,TCP最大段长度为1KB,客户端C当前的拥塞窗口是16KB,向服务器S连续发送2个最大段之后,成功收到服务器S发送的第一段的确认段,确认段中通告的接受窗口大