我在一个线程的while(true)循环里用来响应客户端的连接请求,但当应用程序退出时我该如何结束这个线程

解决方案 »

  1.   

    怎么说也得有个结束条件,一般用事件,到时触发事件就行了。
    如果没有这些就只有TerminateThread了。
      

  2.   

    对,楼上说得没错,
    可以设置一个指定条件,当附合这个条件就break
      

  3.   

    设置退出条件,关闭监听套接字使accept函数返回
      

  4.   

    对方退出,发送一个已结束的消息给循环线程。线程break;,
    如果对方是非法退出,可加入异常判断就可以了。
      

  5.   

    用CreateThread函数创建线程并获得其HANDLE.,然后程序退出时TerminateThread函数强行关闭HNADLE m_hYourThread;m_hYourThread=CreateThread(...);TerminateThread(m_hYourThread,0);
      

  6.   

    我的线程是用_beginthread()创建的,套接字使用的全是winsock,不是CSocket,accept端必须一直监听直到应用程序关闭为止,谁来发送消息?
      

  7.   

    你在关闭socket后,Accept就返回了,你判断全局socket是不是被关闭了
    然后break