socket中一方想向另一方发送一个特别大的数据块
另一方不想接受,但还想继续保持连接
该怎么办呢?

解决方案 »

  1.   

    只能接收后丢弃,将其从接收缓冲区内清除。否则你无法接受后续数据。
    这么做也是不合理的,正确的方法还是断开连接。假设一个恶意用户坚持不停发送大量数据给你,你就应该断开连接。
    如果因为想接收后面的数据,而不断开连接,只是将无用数据接收后丢弃;
    但是如果对方不停的发送,这将导致你的程序DOS(拒绝服务),于是其他合法用户反而连接不上了。
    正确的来说,通讯双方也制定好通讯协议,不应该出现这种情况。
    如果对方发送不合理数据,这只能说明对方程序出错或者对方是恶意攻击者,就应该断开连接
      

  2.   

    开发;卓越呼叫中心、三农热线”语音农业综合信息服务平台、卓越办公自动化软件、卓越电厂MIS系统、卓越客户关系管理系统、卓越网站制作、卓越医疗信息管理系统;沈阳卓越科技有限公司;http://www.excellence-tech.com