日期:2014-05-18  浏览次数:20753 次

winform中使用Socket接收服务器发送信息无法接收


 楼主发表于:2011-07-19 17:01:07做一个项目用Socket连接服务器。Send操作信息之后再调用接收服务器信息的代码。无法接收服务器返回的信息。
必须中间加个MessageBox.Show("");卡下程序才能接收到信息为什么啊?
代码如下:
客户端发送请求信息:
public void C_Company_List()
  {
  dataSocket.Send(stb.ToString());
  DataOnReceive();
  }
其中数据连接没有问题服务器接收到了信息并且开始处理了。但是执行调试的时候进入
dataSocket.Send(stb.ToString());
后按F11回进入DataOnReceive();然后再执行服务器的处理代码。
此时DataOnReceive();方法中接收服务器的字符串就是""。
必须改成
dataSocket.Send(stb.ToString());
messagebox("1");
  DataOnReceive();
卡一下服务器的执行在DataOnReceive();方法中接收服务器的字符串才是我所需要的字符串。请问如何解决啊?




 
 

------解决方案--------------------
dataSocket.Send(stb.ToString());
DataOnReceive();

发送以后能立即接受吗?肯定有时间差,设计有问题
------解决方案--------------------
发送后可以sleep(10)一下再接收应该就可以了