我正在使用C#语言允许在WPF平台中设计的客户端通过服务器将字符串发送到另一个客户端。
但是我的代码存在问题,就是我正在使用TCP协议从服务器向所有客户端广播相同的消息。我知道TCP以可以指定终结点而著称,但是我不知道怎么做。
这就是我在服务器上所做的。
foreach (Socket _connectedUsers in clientSockets)
{
byte[] data = Encoding.UTF32.GetBytes(Message);
Socket socket = (Socket)_connectedUsers;
socket.Send(data);
}
此代码的作用是从clientSockets中的列表向所有人广播消息。
现在是问题。
我该如何做:
byte[] data = Encoding.UTF32.GetBytes(Message);
Socket socket = (Endpoint User IP Address);
socket.Send(data);
答案 0 :(得分:0)
您必须标识要向其发送消息的客户端,并仅对该客户端套接字执行相同的操作。
var _connectedUser = FindClientById( client.Id, clientSockets );
byte[] data = Encoding.UTF32.GetBytes(Message);
Socket socket = (Socket)_connectedUser;
socket.Send(data);
因此,您面临的挑战是识别表示要向其发送消息的客户端的clientSocket。