从服务器发送套接字字符串到特定客户端

时间:2020-04-24 17:55:55

标签: c# string sockets send

我正在使用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);

1 个答案:

答案 0 :(得分:0)

您必须标识要向其发送消息的客户端,并仅对该客户端套接字执行相同的操作。

var _connectedUser = FindClientById( client.Id, clientSockets );
byte[] data = Encoding.UTF32.GetBytes(Message);
Socket socket = (Socket)_connectedUser;
socket.Send(data);

因此,您面临的挑战是识别表示要向其发送消息的客户端的clientSocket。