从服务器发送Socket字符串到特定的客户端

问题描述 投票:0回答:1

我是用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);
c# string sockets send
1个回答
0
投票

你必须识别你要发送消息的客户端,并且只对该客户端的socket做同样的操作。

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

所以你面临的挑战是如何识别代表你要发送消息的客户端的clientSocket。

© www.soinside.com 2019 - 2024. All rights reserved.