2012-10-12 16 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

處理使用回調函數作爲客戶端顯示的recomended過程我想服務器來服務客戶一個接一個。 – user1737072

+0

你爲什麼要重新啓動應用程序? – NiladriBose

+0

否則服務器變慢並且出現很多錯誤。我不知道什麼是最好的方式,我把這個放在循環內,但我得到很多錯誤。這是我重新啓動應用程序的主要原因。 – user1737072

回答

相關問題