我跟着link创建了一个异步TCP服务器。但是,所有示例仅涵盖作为接收响应发送数据。我的问题是如何将数据推送到某个TCP客户端。
让我们说一个字节[]需要被发送/推送到客户端Id 1。 如何使用SocketAsyncEventArgs架构实现这一目标?
我知道我必须保留一个活动连接和客户端ID的列表。为了推送数据,这个列表应该是什么样的?
public bool Send(Socket socket, byte[] message)
{
SocketAsyncEventArgs completeArgs = new SocketAsyncEventArgs();
if (socket.Connected)
{
// Prepare arguments for send/receive operation.
completeArgs.SetBuffer(message, 0, message.Length);
completeArgs.UserToken = socket;
completeArgs.AcceptSocket = socket;
completeArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnIOCompleted);
// Start sending asyncronally.
socket.SendAsync(completeArgs);
}
return true;
}