程序停留在AcceptTcpClient上

时间:2014-05-03 06:56:39

标签: c#

我在使用模拟器连接程序时使用模态模拟器, 程序挂在Accept Tcp Client上..为什么?

public virtual void Run()

{
  if (this.ss == null)

    return;

  TcpClient tcpClient = (TcpClient) null;

  while (!this.m_Stop)

  {

    try

    {

      tcpClient = this.ss.AcceptTcpClient();

      ThreadPool.QueueUserWorkItem(new WaitCallback(this.handler.Handle), (object) tcpClient);

    }

    catch (Exception ex)

    {

      MessageBox.Show(ex.ToString());

    }

   }

}

这里的ss是TcpListener

2 个答案:

答案 0 :(得分:2)

AcceptTcpClient()是您在创建TCP服务器时使用的阻止方法。

'阻止'意味着它将等到TCP客户端连接到它之后再返回。

您的意思是创建TCP客户端吗?如果是这样,只需使用TCPClient.Connect(),传递您要连接的服务器IP和端口。

答案 1 :(得分:1)

AcceptTcpClient()将阻止,直到收到连接。一旦客户端连接到您的TcpListener,程序将继续。