我想做一个这样的程序:
开一个端口8898侦听,别一个端口8899也侦听,从两边都可以连多个客户端,无论从那一方发来的数据都可以转发到别一个端的连接上去。
问题是:1,连接的客户端和那几个因素有关?最好是多少?
2,怎么转发?
3,有没有更好的方法实现?
听不太明白,能不能在说清楚些!
用队列实现。
每个端口有接收和发送两个队列。
用Select模式即可,
用poll实现吧,做成缓冲池形式,
关注
队列起了一个数据缓冲作用。
up
up
up
up
用队列来处理
队列
呵呵,主题很诱人 。
帮你up一下。
up
up
up
我觉得你的问题没有说清楚,
比如,各有两个客户端镰刀 8898,8899
A,B <----->8898
C,D <------> 8899
那么,A ---> 8898的数据是给C转发,还是C,D都,甚至B也转发?
up
UP
思考中………………
看《程序员》1月的《多线程文件传输的实现及其性能的研究》,
里面对这个问题有详尽的阐述。
程序在这里:
http://www8.pconline.com.cn/download/download.phtml?id=93109
啊~~第三个端口~
你说的是每个客户都有两个线程,这样是不是有点多?能不能共用两个线程,把每个客户的发和收都用select绑起来?能详细说说吗?
看你的应用,如果不是同时有大量的连接就不多。因为当客户断开的时候你可以把线程退出。共用两个线程我想不出办法。
up
up haha,
多线程。
dos下的多线程怎么搞呢?
问题是:1,连接的客户端和那几个因素有关?最好是多少?
2,怎么转发?
3,有没有更好的方法实现?
1。连接的因为肯定是跟网络协议有关了,最好用tcp/ip,比如在delphi中服务器用serversocket,客户端用clientsocket
2。多线程处理的时候,每路线程都有个信号灯处理,如果有信号进来,就把通知当前路线程
up up
I need it too!
UP!