-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
{ }
處理使用回調函數作爲客戶端顯示的recomended過程我想服務器來服務客戶一個接一個。 – user1737072
你爲什麼要重新啓動應用程序? – NiladriBose
否則服務器變慢並且出現很多錯誤。我不知道什麼是最好的方式,我把這個放在循環內,但我得到很多錯誤。這是我重新啓動應用程序的主要原因。 – user1737072