2015-05-18 3 views
0

Я имею в виду .net ASYN пример здесь https://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.aspxОтправка данных с сервера с помощью C# асинхр

В этом коде сервера отвечает клиенту при получении сообщения. Мой вопрос

1) Как сервер может отправлять данные требуемому клиенту, Нужно ли мне искать те же SocketAsyncEventArg, которые были инициированы во время соединения, и отправить его?

2) Как сервер и получать от одного и того же клиента одновременно? Я имею в виду, могу ли я отправлять и получать материал одновременно.

Благодаря

ответ

0
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 
+0

Я использую SocketAsyncEventArgs, не TcpClient – pats

+0

я говорю есть более эффективные способы. Вы ограничиваете свою сферу применения тем, что вы пытаетесь сделать, поэтому реальной стоимости нет. –

+0

Вот учебник. Он делает то, что твоя попытка, но с лучшей формой. http://csharp.net-informations.com/communications/csharp-multi-threaded-server-socket.htm –

Смежные вопросы