0
我想製作一個Winform應用程序,它將偵聽TCP連接,然後在接收到連接時執行X.TcpListener崩潰我的Windows窗體應用程序
,我遇到的問題是,它開始監聽應用進入「不響應」
這是我使用的代碼時:
try
{
// set the TcpListener on port 13000
int port = 13000;
TcpListener server = new TcpListener(IPAddress.Any, port);
// Start listening for client requests
server.Start();
//Enter the listening loop
while (true)
{
MessageBox.Show(@"Waiting for a connection... ");
server.AcceptTcpClient();
MessageBox.Show(@"Connected");
// ProcessStartInfo proc = new ProcessStartInfo();
// proc.WindowStyle = ProcessWindowStyle.Hidden;
// proc.FileName = "cmd";
// proc.Arguments = "/C shutdown -f -r";
// Process.Start(proc);
}
}
catch (SocketException)
{
MessageBox.Show(@"SocketException");
}
奇怪的是,就是它作爲控制檯應用程序工作得很好。
任何想法我做錯了什麼?
accept()塊。您不能在GUI事件處理程序中阻止。把它關掉。 – ThingyWotsit
表單項目不需要while循環。 while循環稱爲塊並阻止控制檯應用程序終止。表單項目在構造函數中包含一個塊,並且在代碼中不需要額外的塊。 – jdweng
所以我可以刪除,而真的,它會運行好嗎? –