我是用C#语言允许在WPF平台上设计的客户端通过服务器向另一个客户端发送字符串。
但是,我的代码的问题是,我从我的服务器向所有客户端广播相同的消息,而使用TCP协议,我知道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);
你必须识别你要发送消息的客户端,并且只对该客户端的socket做同样的操作。
var _connectedUser = FindClientById( client.Id, clientSockets );
byte[] data = Encoding.UTF32.GetBytes(Message);
Socket socket = (Socket)_connectedUser;
socket.Send(data);
所以你面临的挑战是如何识别代表你要发送消息的客户端的clientSocket。