C# 4.0 使用c#async从服务器发送数据

C# 4.0 使用c#async从服务器发送数据,c#-4.0,asyncsocket,C# 4.0,Asyncsocket,这里我指的是.NETASYN示例 在这段代码中,当收到消息时,服务器响应客户机。我的问题 1) 服务器如何向所需的客户端发送数据,我是否需要找到连接期间启动的相同SocketAsyncEventArgs并发送数据 2) 服务器和服务器如何同时从同一客户机接收数据?我的意思是我可以同时发送和接收东西 谢谢我使用的是SocketAsyncEventArgs,而不是TcpClient。我是说还有更好的方法。您通过尝试做什么来限制您的使用范围,因此不存在真实世界的价值。它做你想做的,但形式更好。我还将

这里我指的是.NETASYN示例

在这段代码中,当收到消息时,服务器响应客户机。我的问题

1) 服务器如何向所需的客户端发送数据,我是否需要找到连接期间启动的相同SocketAsyncEventArgs并发送数据

2) 服务器和服务器如何同时从同一客户机接收数据?我的意思是我可以同时发送和接收东西


谢谢

我使用的是SocketAsyncEventArgs,而不是TcpClient。我是说还有更好的方法。您通过尝试做什么来限制您的使用范围,因此不存在真实世界的价值。它做你想做的,但形式更好。我还将推荐《c#中的tcp/ip套接字:程序员的实用指南》一书,谢谢,但我不明白为什么我的场景不真实。我有一个服务器,它需要响应客户端的请求并向客户端发送命令。所以,当数据可用时,服务器也需要向客户端发送数据。此meas服务器必须同时向两个方向发送数据。
public void startServer(int port)
{
    port1 = port;//sets the port number
    th = new Thread(thServ);//creates user thread
    UserCounter = new Thread(nextUser1);//creates token thread
    UserCounter.Start();
    th.Start();
}//end start server 

public void thServ()
{
    TcpClient clientSocket = default(TcpClient);//Setup The Client socket type
    try
    {
        //MessageBox.Show(port1.ToString());
        serverSocket = new TcpListener(port1); 
        serverSocket.Start();//start server

    }
    catch { MessageBox.Show("Port is not available"); return; }


    Boolean isthere = true; 
    while (isthere)//start listening for client... would set boolean for back ground worker?
    {
        try
        {
            //countMe++;
            //MessageBox.Show("Server has started");
            //MessageBox.Show(SampleInv.Form4.setUp());//test passing info of user data
            clientSocket = serverSocket.AcceptTcpClient(); // accept client
            //MessageBox.Show("user is here0");
            handleClinet client = new handleClinet();// creat instance of handle client

            client.startClient(clientSocket);//dowork for client

        }
        catch  { isthere = false; MessageBox.Show("clientSocket Failed"); }
    }// end while (shouldn't this be in a try catch)

}//end thServ