douyan8413 2015-09-03 10:48
浏览 770
已采纳

Golang TCP错误wsarecv

I am writing an app which listens tcp connection (see this example) . When a tcp connection disconnected I got error read tcp ip_server.:port1->ip_client:port2: wsarecv: An existing connection was forcibly closed by the remote host. I expected error EOF and timeout(for conn.SetReadDeadline()) and tried to catch error with this code:

if err != nil {     
    log.Println("getting error from listener")
    // I thought, listener can continue work another cases
    if neterr, ok := err.(net.Error); ok && neterr.Timeout() || err == io.EOF {
        log.Println("Closing connection...")
        break // connection will be closed 
    }
}

Anyone knows about this error? Do you know how to catch this error and when this error will occured ? Thanks in advance !

  • 写回答

1条回答 默认 最新

  • dpd3982 2015-09-03 11:00
    关注

    The usual cause of this error is that you sent data over a connection which had already been closed by the peer. In other words, an application protocol error.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器