在serversocket中如何用IP地址实现消息转发?急!!!!!!!!
比喻两个客户端A和B,A发送消息到服务器,服务器经过处理后将消息发送到B如何用IP地址实现。不能用connections[]因为客户的连接是时上时下的,我这样:
form1.serversocket1.socket.remoteaddress:='ip地址';form1.serversocket1.socket.sendtext('aaa')
可delphi告诉我remoteaddress为只读属性
所有的并发连接都同时在线,而且并发连接数很多(超过1000)且不知道具体的连接数量。
具体是客户A送一个请求到服务器,服务器的serversocket读到请求后生成一个线程,在该线程中处理成相应的数据后,再将生成的数据送到客户B,现在关键是我如何能准确捕捉服务器与客户B的通信“通道”(客户B的IP或其他条件,客户B已在线)再将数据发出去,这些都在一个线程中完成的。急!!!
问题点数:50、回复次数:6Top
1 楼Kyky_onyourway(尚无不良记录)回复于 2001-08-11 12:30:04 得分 20
有没有兴趣建立一个动态数据库,库中保存各个连接的句柄,在线程中通过某些值进行检索(如ip+用户昵称),获得句柄,然后你想干什么都没人管你Top
2 楼summernightrain(夏夜雨)回复于 2001-08-11 12:51:04 得分 30
使用循环查找匹配,下面是原理性的说明:
for i:=0 to Connections(当前最大连接数) do
If Connections[i].Socket.remoteaddress=你要回发的IP then
Connections[i].Socket.Send..... Top
3 楼thedream(梦幻使者)回复于 2001-08-11 13:10:29 得分 0
關注Top
4 楼zxb2001(zxb)回复于 2001-08-11 14:06:14 得分 0
gzTop
5 楼saum(劲草)回复于 2001-08-29 15:34:25 得分 0
upTop
6 楼blackfiles(一个和尚挑水喝)回复于 2001-08-29 16:09:46 得分 0
我上次也问了个差不多的问题。
GZTop




