使用SocketAsyncEventArgs将数据推送到C#TCP客户端

时间:2016-03-30 00:13:01

标签: c# sockets tcp socketasynceventargs

我跟着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;


    }

0 个答案:

没有答案