我用TClientSocket作为客户端和VC的服务器端进行通信,TClientSocket用的是非阻塞Socket,连接一直保持,开始发送数据和接收数据都比较正常,但过了一段时间之后,VC端可以接收到Delphi端发送的数据,在VC端发送出数据后(跟踪知道数据确实发送出去),但在delphi客户端却始终接收不到数据。一旦出现此现象之后,delphi端一直可以发送数据,但是却一直不能接受数据了。希望大家可以指点并给出意见!

解决方案 »

  1.   

    delphi的客户端无论发多少次都收不到服务器的回应了,但服务器确实已经发送出了数据,delphi的OnRead事件却一直得不到触发
      

  2.   

    你在VC端的程序是怎么做的?好象VC中的Socket(系列)类并不很适合于Win32下的处理,里面有很多16位残留代码。
      

  3.   

    我考虑过VC的socket封装不稳定的问题,所以VC端我是用SDK实现的,用WSASelectEvent对事件进行响应,VC端还要和其他的程序通信,一直很稳定