社区
Linux/Unix社区
帖子详情
请教一个与服务器通信时数据收取一段时间后死掉的问题
donglq
2009-05-12 04:16:32
我做一个与服务器通信的程序,目前可以正常的收取数据,但是在接受视频数据时到大概2分钟的时候会死掉,请各位指教,我会一直关注的,要相关代码的请讲
...全文
266
33
打赏
收藏
请教一个与服务器通信时数据收取一段时间后死掉的问题
我做一个与服务器通信的程序,目前可以正常的收取数据,但是在接受视频数据时到大概2分钟的时候会死掉,请各位指教,我会一直关注的,要相关代码的请讲
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
33 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
donglq
2009-05-13
打赏
举报
回复
非常感谢各位 问题解决了 谢谢各位提供的建议 小弟刚出校园大门 经验不足 若有问得肤浅之处还望见谅
猫已经找不回了
2009-05-13
打赏
举报
回复
[Quote=引用 21 楼 donglq 的回复:]
104 无法在中断时请求独占的信号灯
这个error我还不知道linux里面有没有对应的函数捕捉
我捕捉错误的函数是这样的 总觉得很别扭
int errno;
int geterror(){return errno;}
[/Quote]
看下服务器那边是不是重连接了?
morris88
2009-05-12
打赏
举报
回复
为什么104,那就需要抓包看看了...
donglq
2009-05-12
打赏
举报
回复
问题是我觉得TCP不需要加心跳啊 我现在觉得加了心跳也没用 不过我先试试
threeleafzerg007
2009-05-12
打赏
举报
回复
。。。昏,绕老半天,那么多高手帮你诊断,就这点原因。。。
只能怪你症状描述的不清楚。。。。
donglq
2009-05-12
打赏
举报
回复
恩 我MS知道点原因了 是不是服务器主动断开我的连接了 那是为什么啊 加心跳机制可以解决此问题么
快乐田伯光
2009-05-12
打赏
举报
回复
104就是连接已经复位了,也就是这个连接已经由另一端断开了。
donglq
2009-05-12
打赏
举报
回复
[Quote=引用 25 楼 guosha 的回复:]
程序死掉了,去抓包干什么? 抓到包又能干什么呢?
程序死掉一般都是内存非法操作,所以-g参数重新编译你的程序,然后修改linux环境,让程序死掉的时候自动生成core文件,最后用gdb分析core文件。看到低是执行到哪一条语句出错了。
怎么修改linux环境生成core文件,自已去google一下。
[/Quote]
现在的问题不是程序死掉,是recv()在运行2分钟之后返回-1 error 104
快乐田伯光
2009-05-12
打赏
举报
回复
程序死掉了,去抓包干什么? 抓到包又能干什么呢?
程序死掉一般都是内存非法操作,所以-g参数重新编译你的程序,然后修改linux环境,让程序死掉的时候自动生成core文件,最后用gdb分析core文件。看到低是执行到哪一条语句出错了。
怎么修改linux环境生成core文件,自已去google一下。
donglq
2009-05-12
打赏
举报
回复
这个我也不是很清楚 我的错误捕捉函数没问题么 最关键是要解决了这个问题 小弟经验不足啊 谢谢多多指点
morris88
2009-05-12
打赏
举报
回复
貌似 104 是这个吧:
#define ECONNRESET 104 /* Connection reset by peer */
donglq
2009-05-12
打赏
举报
回复
先谢谢你们了 我明天要回学校 希望今晚可以解决了 麻烦楼上两位大哥了
donglq
2009-05-12
打赏
举报
回复
104 无法在中断时请求独占的信号灯
这个error我还不知道linux里面有没有对应的函数捕捉
我捕捉错误的函数是这样的 总觉得很别扭
int errno;
int geterror(){return errno;}
morris88
2009-05-12
打赏
举报
回复
那返回 -1 后,errno 是什么...
猫已经找不回了
2009-05-12
打赏
举报
回复
[Quote=引用 18 楼 donglq 的回复:]
我知道问题出在什么地方了 recv()在2分钟之后返回值为-1,为什么会在2分钟之后才返回-1啊
[/Quote]
看下errono是什么?
donglq
2009-05-12
打赏
举报
回复
我知道问题出在什么地方了 recv()在2分钟之后返回值为-1,为什么会在2分钟之后才返回-1啊
morris88
2009-05-12
打赏
举报
回复
注意一下你的多线程或多进程处理,是否有互斥同步的不够的地方...
你可以先测试一下单一进程或单一线程的方式,
也测试一下只接收一个服务器源数据的方式...
donglq
2009-05-12
打赏
举报
回复
我已经排除了缓冲区越界的问题,现在我定位到rec(),2分钟左右程序好像在这里死掉了,为什么是2分钟左右死掉,前面可以正常接收数据
donglq
2009-05-12
打赏
举报
回复
各位 我发现了一个问题 2分钟后我的程序就收不到数据了 这是为什么
donglq
2009-05-12
打赏
举报
回复
楼上 你说的这些我都设置过 这是否可以排除缓冲区越界的问题
加载更多回复(13)
微信小程序系统教程[1/3阶段]
微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术
问题
可以
请教
老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关...
数据
分析侠A的成长故事
数据
分析侠A的成长故事面包君 同学A:22岁,男,大四准备实习,计算机专业,迷茫期作为
一个
很普通的即将迈入职场的他来说,看到周边的同学都找了技术开发的岗位,顿觉自己很迷茫,因为自己不是那么喜欢钻研写代码,而自己又没太多的经验。那年他实习,选择了一家国内一线梯队的电商公司,HR问道想选择什么岗位,而他本人自己也比较困惑,说对
数据
感兴趣。而恰好那年公司打算成立
一个
数据
部门,就把同学A分配到了市场部的数
常见电脑疑难问答
★系 问:wsli您好,我的计算机最近遇到了一些
问题
,比如蓝屏、缺少DLL文件等。在
请教
高手后,他们让我释放Windows 98系统文件来解决这个
问题
,可是我应该如何释放Windows 98系统文件?答:释放系统文件是一种比较有效的方法,很多朋友在使用系统
时
遇到的
问题
都需要使用Windows 98安装盘释放CAB文件的办法来解决。在“资源管理器”或“我的电脑”中双击包含有需
The Science of the Blockchain学习笔记(三)
前言 衷心感谢《The Science of the Blockchain》一书的作者Roger Wattenhofer。《The Science of the Blockchain》一书较为严谨地介绍了一种基础技术——容错分布式系统(faulttolerant distributed system)。 在容错分布式系统中,
数据
存储在多台
服务器
上,并且多台
服务器
协同完成一项计算操作。这里面,最大的
问题
便是如何进行协调(coordination problem)。围绕协调
问题
,研究人员提出了诸多算法与模型,如
产品读书《浪潮之巅》
http://www.chanpin100.com/article/101669(导图可以看看) 本片开头引用
一个
典故: 1943年,徐复观初次拜见熊十力,
请教
应读何书。熊教他读王夫之的《读通鉴论》。徐说那书早年已经读过了。熊十力不高兴地说,你并没有读懂,应该再读。不久后,徐再见熊十力,说已经读完。熊问有什么心得?徐便接二连三地说出许多不太满意处。熊十力未听完便斥骂道:“你这个东西,怎么会...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章