极其奇怪的问题 ------〉 在线等待

eunt 2005-04-17 10:13:08
我再客户端用tcp连接服务器,过一段时间之后,客户端好像自己断线了。recv返回-1,错误是ECONNRESET。但是服务器那里确说连接正常,发送数据成功,接收说是EWOULDBLOCK
一般说的那几种ECONNRESET的可能好像都不是阿,连接建立以后服务器和客户端在一段时间内都处于等待状态,什么事也不干。等待90秒就没有问题,100秒就出错了。

有没有人曾经碰到过这种问题啊?强烈盼望达人指点阿~~~
...全文
186 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
eunt 2005-04-23
  • 打赏
  • 举报
回复
看来大家都没有遇到过这种情况,如果还没有好的方案的话就揭帖了
绝缘 2005-04-23
  • 打赏
  • 举报
回复
应该是协议有自动判断连接的能力吧!你可以每30分钟发一个简单的数据啊..这们来保持连接
oyljerry 2005-04-23
  • 打赏
  • 举报
回复
估计需要研究一下ADSL的拨号软件的工作原理了 ^_^
xhzxlqt 2005-04-22
  • 打赏
  • 举报
回复
ADSL也是用软件拨上去的,你可以研究一下该ADSL软件的原理
eunt 2005-04-22
  • 打赏
  • 举报
回复
但是如果不发消息的话90秒以后就断开了
eunt 2005-04-21
  • 打赏
  • 举报
回复
新发现,可能是adsl的问题.
agent 2005-04-21
  • 打赏
  • 举报
回复
TCP协议自身就有保持连接的处理,所以不需要每10秒就给服务器发送一个信息。
eunt 2005-04-20
  • 打赏
  • 举报
回复
我现在每10秒给服务器发一个信息,这样会不会造成服务器的负担?
eunt 2005-04-20
  • 打赏
  • 举报
回复
to: xhzxlqt(真的真的好想你)
client跟server都是我自己的不可能是别人的攻击吧?现在是client那里没有主动断开连接,也不是非正常退出,就是长时间没有动作。
to: oyljerry(【勇敢的心】→ ㊣Typesetting A za!㊣)
为什么有的机器不会超时断开,有的就会呢?而且一般都是adsl的断开的比较多
eunt 2005-04-19
  • 打赏
  • 举报
回复
顶以下
tanggt006 2005-04-19
  • 打赏
  • 举报
回复
顶一下
oyljerry 2005-04-19
  • 打赏
  • 举报
回复
超时断开连接了,发送心跳包来维持连接
xhzxlqt 2005-04-19
  • 打赏
  • 举报
回复
个人观点:
有一种网络攻击是这样的:建立很多的CLIENT向SERVER发起连接,但是Client非正常退出,但Server以为连接依旧并不Free资源,如此Server最终被耗死.

我想你应该明白是什么原因了.
eunt 2005-04-18
  • 打赏
  • 举报
回复
我现在就是这样做的.
但是我想知道具体的原因啊
而且有的机器会断开,有的机器就不会.一般是adsl的机器都会断开.
而且,如果断开了,为什么读数据的时候会说是ECONNRESET,服务器那里却认为连接没有问题呢?
xhzxlqt 2005-04-18
  • 打赏
  • 举报
回复
TimeOut
等了很久没做任何事,Socket会想:一定是断线了
你可以每分钟发送一个简单的数据呀
eunt 2005-04-18
  • 打赏
  • 举报
回复
怎么办啊?一晚上了也没有人回答?
eunt 2005-04-17
  • 打赏
  • 举报
回复
真是愤了!
mousubin 2005-04-17
  • 打赏
  • 举报
回复
关注~~~

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧