有两个客户端,都用socket同服务器通讯,在socket中怎么向指定的客户端发送消息? 有两个客户端,都用socket同服务器通讯,在socket中怎么向指定的客户端发送消息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你找一下,在DELPHI中的例子中就有这样的。你可以查看一下。 serversocket1.Socket.Connections[i].SendText('HEHE')i是socket连接中的第几个连接,可以用遍历查找相应地址的socket连接然后用上面的发送 在DELPHI的MEMOS中有一个聊天的例子,就是用了SOCKET控件,给定了各种功能。 serversocket1.Socket.Connections[i].SendText('jksldfjkaslfjs') 如果这样serversocket1.Socket.Connections[i].SendText('jksldfjkaslfjs')怎么知道,那个是那个? 如果要发送的客户端:IP是IP1,端口是port1,则如下处理 for i=0 to 9 (假设有10个客户端) begin if (ServerSocket1.Socket.Connections[J].RemoteAddress = 'IP1') and (ServerSocket1.Socket.Connections[J].RemotePort = 'pot1') then begin ... ... end end 第一句for i=0 to 9 的i应该是j 目前连接的共有多个,不是一个。你现在可以选定其中的一个来发送信息,根据他的IP和端口来判断是那一个Connections[J] 如果是一问一答的话直接在ClientRead里直接send就行了,因为他们的连接互不干扰如果发广播消息,就要加上标示了 用serversocket1.socket.sendtext命令,是发送给所有的连接吗? spcomm发送接收数据问题 OpenDialog 動態指定目錄問題 ADOQuery的Recordset如何取出其中某一个字段的值? DLL调用,大家如何使用数据类型?高分讨论? update语句那个地方有问题! Indy书的下载? 怎样在MDI上放置按钮控件?最后40分了... delphi任务栏 关于ActiveX Library的问题 诚征About窗体 一个关于数据的的删除问题 为什么我无法改变窗体的图标?
怎么知道,那个是那个?
for i=0 to 9 (假设有10个客户端)
begin
if (ServerSocket1.Socket.Connections[J].RemoteAddress = 'IP1')
and (ServerSocket1.Socket.Connections[J].RemotePort = 'pot1') then
begin
...
...
end
end
如果发广播消息,就要加上标示了