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 atxfw
231

以上是关于socket error:Error:read ECONNRESET.怎么回事的主要内容,如果未能解决你的问题,请参考以下文章

BOOST中read_some和 boost::asio::error::eof错误

UnhandledPromiseRejectionWarning: E​​rror: 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的解决问题

socket error怎么解决