如何才能做到点对多通讯,1各server和多个client通讯,但是server只有1个端口监听(100分)

  • 主题发起人 主题发起人 ggb1999
  • 开始时间 开始时间
没有人回答啊[:)]
 
http://www.delphibbs.com/delphibbs/dispq.asp?LID=719235
 
ClientSocket和ServerSocket
 
这个是SOCKETS服务器的基本功能啊
 
是这样的,一个server监听,4个client连上来,通讯包来了以后,放到一个等待处理
队列中,另外一个线程a一发现有数据,就处理,然后放到一个发送队列中,发送线程
b处理发送队列中数据,发回到相应的client(这个数据原来是哪个client来的,就发回
哪个去),每个通讯包都有自己的地方特征数据,不过只是在当天当次长连接通讯中
不变,所以必须在每个client连上来时要记住每个连接的标识。
问题是:在一个client连上来,serversocket就增加一个连接(connects[]数组增加一个),
我希望得到每一个client对应的connect的号码,放在一个数组中,这样在发送回去时,
只要看看数组中地方特征数据对应的connect的号码(比如3),就可以调用serversocket.socket.
connects[3].sendbuf(pkg,sizeof(Tpkg)),可是我怎么也得不到这个连接号码,

我希望大家有没有其他的解决方法,
 
我不知道你什么意思,用两个serversocket控件(端口号不一样),
在clientsocket动态设置端口。不就得了
 
可是连接的client数实际上是动态的,
 
谢谢大家,忘了给分了
 

Similar threads

后退
顶部