首先谢谢windindance(风舞轻扬)
 我知道用线程,你提出方案我用了。但是当这个线程运行之后,主进程还在继续运行,我不想让主进程继续运行,直到线程结束。
 还有其他的方法吗???

解决方案 »

  1.   

    你不还是应该使用线程,可以参照一下UNIX下的通讯模式。一定一个守侯进程来监听一个端口,当有请求的时侯,其Fork 一个子进程与请求进程进行通信,而其继续进行守侯。
      

  2.   

    To:windindance(风舞轻扬)
      我主线程下一步要根据服务器的响应来进行相应的处理,如果线程刚刚开始,就执行主线程的下一步,结果也不对呀。所以,我需要主进程暂停一下,什么也不处理,一直等到线程结束。这样返回值才正确呀。
      还有,我是在修改前人留下的程序,改动不能太大。所以,我是做了一个函数,它首先发送一个固定协议字符流到服务器端,然后返回服务器返回的字符流给相应的程序。你能帮我在好好想想么,分不是问题。
      

  3.   

    使用WaitFor方法:if MyListenThread.WaitFor then ......在MyListenThread结束运行之前(Terminate方法被调用,或者Execute执行完毕之前),WaitFor方法不会返回。这样,你就达到了在收到响应之前暂停主程序执行的目的。
      

  4.   

    好了,解决了。谢谢chiphead(满脑袋芯片和程序的人) 。
    结账。