socket error:Error:read ECONNRESET.怎么回事
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket error:Error:read ECONNRESET.怎么回事相关的知识,希望对你有一定的参考价值。
是这样的,首先客户端非法中断,或者调用close(fd)后服务器调用recv或者read,会返回ECONNRESET,这个错误告诉你对端(客户端已经关闭了或者进行重启),理论说遇到这个问题和处理recv/read返回值为0是一个效果,服务器将该链接断开即可。为避免这个错误可采用以下两个方法:
shutdown(s, SHUT_WR);
close(s);
先关闭写端,强制发送FIN,这样服务器收到后调用recv返回0,可以确定客户端已经关闭。
网上也有人说的
若设置了SO_LINGER并确定了非零的超时间隔,则closesocket()调用阻塞进程,直到所剩数据发送完毕或超时。这种关闭称为逗优雅地或逗从容地关闭。
struct linger so_linger;
so_linger.l_onoff = true;
so_linger.l_linger = 30;
int z = setsockopt(s,SOL_SOCKET,SO_LINGER, &so_linger,sizeof so_linger); 参考技术A
socket error:Error:read ECONNRESET.的解决方法
当socket已经断开连接的时候,还继续往这个socket里面写数据就会出错。
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
socket error怎么解决
在上网的时候出现 socket连接安全策略ERROR 如何解决 是家庭网络
参考技术A atxfw231
以上是关于socket error:Error:read ECONNRESET.怎么回事的主要内容,如果未能解决你的问题,请参考以下文章
BOOST中read_some和 boost::asio::error::eof错误
UnhandledPromiseRejectionWarning: Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
Nodejs 套接字报错处理 Error: read ECONNRESET
Reading package lists... Error! 解决方案
npm ERR! Error: tunneling socket could not be established的解决问题