比如:
1. 客户端按了一个按钮
2. 发送请求到服务器
3. 服务器返回信息
4. 客户端接受后做下一步处理3有可能要30秒之后才能返回,那么我怎么才能把客户端锁定30秒呢?

解决方案 »

  1.   

    如果你确定服务器端会返回信息的话,可以在客户端使用Receive方法,这个方法会阻塞,客户端就停在这儿,等待有数据到达,接收数据后才会继续执行后面的代码的。
      

  2.   

    socket的recrive方法是会阻塞等待接受的。有一个属性receivetimeout你设的时间长点就行
      

  3.   

    服务端返回之后在客户端等待30秒 再去执行可以么
    用timeout
      

  4.   

    我是用多线程实现的,一般实现客户端/服务器端接收都起多线程,然后用线程的sleep。
    using System.Threading;
    Thread.Sleep(1000);//1000毫秒
      

  5.   

    用AutoResetEvent。
    客户端发送后,用WaitOne方法等待
    客户端从服务器数据接收到需要的数据后,用Set方法唤醒
      

  6.   

    代码我就不写了,搜了一个例子http://www.csharpwin.com/csharpspace/8904r4423.shtml。你自己也可以搜搜,网上资料很多的!