用WINSOCK控件在连接之后,接收对方发来的数据时,如果在我们读取数据之前对方关闭了连接,我们的程序中就无法再读取数据了,这该咋办?难道非要用SOCKET的API不可吗?

解决方案 »

  1.   

    你这种不是Winsock的问题吧
    tcp/ip通讯有应答的,没有接收到数据,会重发的
      

  2.   

    谢谢楼上的回答。
    不好意思,可能我没有描述清楚。
    我是说,对方发送来数据,会触发Winsock的DataArrival事件,在这个事件的处理过程中,如果在读取数据之前对方关闭了连接,那么我们读取数据时就会出现“Wrong protocol or connection state”的错误。
    我做了几个从网站上读取数据的程序,有的网站关闭连接的速度实在是太快了,有时还没来得及读取,连接就被它关闭了。
    这种情况应该怎么处理呢?另外问一下大家,有没有别的方法从网站GET或向网站POST数据,不用Winsock,但要求能控制传输过程中的一些数据内容,比如更改COOKIE等等?