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