一台计算机建立N多个TCP Client Socket与服务端通讯问题(100分)

  • 主题发起人 主题发起人 fftou
  • 开始时间 开始时间
F

fftou

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:一台计算机建立N多个TCP Client Socket与服务端通讯问题
现在有一数据服务端(TCP协议),我现在要做的是在一台计算机上实现5000个client socket与之建立连接.而且要长时间保持连接
我想了想,采用多线程,每个socket client一个线程。5000个连接5000个线程。系统吃不消。。。。所以不可行。如果建立一个线程专门管理socket消息。不知道此方应该如何实现?请在大家发表下各自的高见。谢谢了
 
拜托,还是用udp吧,tcp是有连接方式,服务器会吃不消的
 
服务端采用的就是TCP协议,这是不可改变的丫!
 
不能长期保持连接状态。操作完了就要释放。
 
没注意看帖,sorry!
 
你的服务器什么配置??
 
P4 3.0双至强处理器, 2G 内存
 
完成端口+线程池
不过长时间连接......很麻烦...
或许可以学习一下做网络平衡的那些家伙.不过底层需要改动太多
 
用indy要好些。
 
jingtao:您好,现在需要写的是客户端而不是服务端,完成端口我一直以为他只适合做服务端。如果做客户端的话,不知道有没有好的实现方法呢?我曾经写过一个IOCP的组件(BST IOCP)。不过不知道如何写这种客户端的应用。还请大家指教一下。
关于网络平衡,我真的是一窍不通……
 
服务器端弄多个端口
 
服务端不是我写的,是别人的....所以不能有任何的改动
 
试试jintao提到的线程池吧
客户端这么做,少见
关注一下
 
就是,5000 晕了,
jintao提到的线程池吧
没有用过,没有发言权
 
因为这个软件本身并不是单纯的TCP连接,具体的工作方式是每个单独的连接比必须完成特定的数据交互工作.而且数据交互很频繁!
如果采用线程池的话,能不能给个比较好的思路呢?
 
不明白为什么一定要在一台电脑上面建立5000个客户端....这样线程池用处也不大的.
线程池一般用于服务端编程.例如游戏服务器等.其实也就是建立一定的线程,结束后并不释放而是保存下来给下一个线程使用.目的是减少系统开销(线程的建立和FREE是需要系统开销的).但是并不适用于你这种客户端的情况.
 
在一台电脑上面建立5000个客户端?
用来攻击服务器???
 
现在的测试要求我也没办法呀,还请高手指点一二.
我朋友用VC就实现,而我用delphi写的老是会断,真是郁闷.而我也是用API来实现的
 
"在一台计算机上实现5000个client socket与之建立连接.而且要长时间保持连接", 不会吧,什么系统要这么实现,有点怪!

楼主能否使用别的方法来实现呢.
 
后退
顶部