2012-10-12 2 views
-1

Вот код сервера, который я разместил под событием нажатия кнопки. Как я могу сделать эту программу закрытой после отправки данных с одним клиентом и перезапустить или обновить снова и подключиться к следующему клиенту.Ответ нескольким клиентам, использующим сервер

string val; 
Process[] pname = Process.GetProcessesByName("chrome"); 
if (pname.Length == 0) 
{ 
    MessageBox.Show("Application is not running"); 
    val = "Not Running"; 
} 
else 
{ 
    MessageBox.Show("Application is running"); 
    val = " Running"; 
} 
TcpListener tcpListener = new TcpListener(10); 
tcpListener.Start(); 
Socket socketForClient = tcpListener.AcceptSocket(); 
if (socketForClient.Connected) 
{ 
    label1.Show(); 
    label1.Text="Client connected"; 
    //MessageBox.Show("Client connected"); 
    NetworkStream networkStream = new NetworkStream(socketForClient); 
    System.IO.StreamWriter streamWriter = 
     new System.IO.StreamWriter(networkStream); 
    System.IO.StreamReader streamReader = 
     new System.IO.StreamReader(networkStream); 
    string data_var; 
    data_var = textBox1.Text; 
    string theString =val; 
    streamWriter.WriteLine(theString); 
    try 
    { 
     streamWriter.Flush(); 
     theString = streamReader.ReadLine(); 
     label1.Text = theString; 
     //MessageBox.Show(theString); 
     streamReader.Close(); 
     networkStream.Close(); 
     streamWriter.Close(); 
    } 
    catch 
    { 
     label1.Text = "Not flushed"; 
    } 
} 
try 
{ 
    socketForClient.Close(); 
    //MessageBox.Show("Exiting..."); 
    label1.Text = "EXIT"; 
    Application.Restart(); 
} 
catch 
{ } 
+0

Я хочу сервер для обслуживания клиентов по одному. – user1737072

+0

Почему вы перезапускаете приложение? – NiladriBose

+0

в противном случае сервер будет медленным и даст много ошибок. Я не знаю, что является лучшим способом для этого, я связал это в цикле for, но у меня много ошибок. Это основная причина, по которой я запускаю приложение. – user1737072

ответ

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