探究一下技术实现,想搞清楚是怎么回事,而且用于WEB API的就没有上传按钮啦

解决方案 »

  1.   

    Socket.Shutdown(SocketShutdown.Both);你不通知对方关闭,对方数据会没发送完,怎么会接收数据呢?当然客户端超时了,自然就会关掉了。
      

  2.   

    不管是web服务器,还是普通的TCP服务Socket.Shutdown都是必要的;而且就算执行了Socket.Shutdown,对方也可能出现无视的情况,最好是通过确定性的指令通知对方结束。
      

  3.   


    10K就Socket的buffer,就是一次最多只读取10K的数据,上边的问题是指在大文件比如说200M的时候,就会出现文中开头的现象,这时候我只能用socket.shutdown()方法关闭流,但是在关闭之前我已经send了正确的响应报文,但是浏览器的现象是停止响应了,功能是实现了,但是不完美,完美的情况下浏览器应该是停止发送文件,然后正确接收response并显示出来
      

  4.   

    只能让浏览器端产生一个网络错误。如果非要客户端表面显示正常,可以使用iframe,监听onerror事件。