TCP客户端和服务器多个socket连接的问题求助
来源:互联网 发布:铝合金模板设计软件 编辑:程序博客网 时间:2024/05/22 13:56
刚接到一项目,要做一个TCP客户端代理,该代理工作在linux平台上,与服务器最多时有接近1000条tcp连接,并定时发送心跳包以维持TCP连接不中断。现在要求服务器的技术实现不能有任何改动。只能在TCP客户代理上做文章。
目前想了两个方案,如下所示:
1. 在一个进程中通过for循环等方式建立这1000条tcp连接,并采用轮询或select的方式实现其他细节,如心跳包和响应等;
2. 为每一个TCP连接建立一个线程。
方案1,我写了一个简单TCP服务器和客户端程序尝试过,1000条tcp连接通信似乎没有问题,速度也能接受,但总觉得这个方案不够好。
方案2,我认为是理想的方案,但如果真是1000个客户,就要建立1000个线程,这显然也不太合适,开销也巨大。
有没有哪位大侠有更好的方案,在此谢过!
目前想了两个方案,如下所示:
1. 在一个进程中通过for循环等方式建立这1000条tcp连接,并采用轮询或select的方式实现其他细节,如心跳包和响应等;
2. 为每一个TCP连接建立一个线程。
方案1,我写了一个简单TCP服务器和客户端程序尝试过,1000条tcp连接通信似乎没有问题,速度也能接受,但总觉得这个方案不够好。
方案2,我认为是理想的方案,但如果真是1000个客户,就要建立1000个线程,这显然也不太合适,开销也巨大。
有没有哪位大侠有更好的方案,在此谢过!
------------------------------------------------------------------------------------
1. 启动一个心跳检查线程负责心跳检查
2. 开启几个业务线程池, 负责处理业务处理转发。
3. 主线程采用poll模式轮询,同时负责数据分发调度到不同线程;
仅供参考。
FROM: http://bbs.chinaunix.net/thread-4140216-1-1.html
0 0
- TCP客户端和服务器多个socket连接的问题求助
- TCP的多个客户端连接服务器
- TCP服务器接收多个客户端连接
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- socket的accept函数解析以及服务器和多个客户端的端口问题
- socket的accept函数解析以及服务器和多个客户端的端口问题
- Socket与http、tcp客户端与服务器连接的区别!
- Socket与http、tcp客户端与服务器连接的区别!
- Socket与http、tcp客户端与服务器连接的区别!
- Socket与http、tcp客户端与服务器连接的区别!
- Socket与http、tcp客户端与服务器连接的区别!
- socket实现多个客户端连接在一个服务器上
- java 通过 socket 实现 服务器和客户端的通信 TCP
- 简单的TCP 流式socket 服务器和客户端代码示例
- socket多客户端连接服务器
- go简易tcp socket客户端和服务器
- 大数据系列第五课:scala基础
- clientHeight / scrollHeight / offsetHeight 等属性的区别图
- 属性动画中的插值器和估值器
- 找出两链表的交点
- DT大数据梦工厂- 第6课 精通Spark集群搭建与测试
- TCP客户端和服务器多个socket连接的问题求助
- Android输入法界面管理(打开/关闭/状态获取)
- 史上最牛逼的纯CSS实现tab选项卡,闪瞎你的狗眼
- 在android 中导入项目后 包出现错误
- jQuery对象访问 jquery: "3.0.0-pre
- CentOS 7.0 yum安装Apache、PHP和MySQL
- 关于Android 6.0 刷入gapps 显示“设置向导”已停用的解决办法
- Fragment的使用
- android 连按两次退出程序