socket 在recv的时候报错10053。500分!

dulei115 2008-04-02 04:51:49
服务端和客户端在同一台计算机上
服务端用Java开发的,客户端用VC开发的,一般情况下运行正常,可是期间时不时的来一个客户端recv出错,几率很小,客户端错误代码10053 Software caused connection abort(软件原因导致连接中断)。而对应的Java服务端也会出错,错误代码Connection reset by peer(连接被对方复位)。

各位大侠,出这种错误的原因到底在哪?好像特别不好确定错误原因?


解决了我另开贴给足500分!!
...全文
664 46 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
dulei115 2008-04-21
  • 打赏
  • 举报
回复
结贴 or 散分,谢谢各位!!
dulei115 2008-04-18
  • 打赏
  • 举报
回复
现在10038的错误依然存在,客户端添加了重试机制,问题暂时基本解决了,但是没有根本解决

下周一04.21结贴,如果哪位能够找到问题的根本所在,答谢500分,如果没有,这贴当感谢各位的帮助兼散分了!!
cnzdgs 2008-04-17
  • 打赏
  • 举报
回复
根据LZ的描述,比较可能的原因是程序中内存越界或者指针使用错误,看不到相关代码是没法查出问题的。如果不方便贴出全部代码,可以做一个简单的测试程序,只要测试能发生相同问题即可,然后把测试代码完整地贴出来。
ouyangzhongmin 2008-04-17
  • 打赏
  • 举报
回复
int DMyThread::ConnectSocket(SOCKET * Con,楼主看看你的指针是不是有地方使用错误了.
dulei115 2008-04-17
  • 打赏
  • 举报
回复
操作系统Windows Server 2003 Enterprise Editio,怎么改连接数。


网上说的连接数都是说远程桌面的。。。。有些说如果是连接数限制,报的错是10048。而我的是10054和10038
skyful123 2008-04-17
  • 打赏
  • 举报
回复
建议提高计算机的连接限制~
以前遇到的时候就是系统限制并发连接数到了
dulei115 2008-04-17
  • 打赏
  • 举报
回复
行,我加。。。。。还有哪位有什么建议的!?
tiger波波 2008-04-17
  • 打赏
  • 举报
回复
不一定,因为并不是已开始就出错,前边的sleep就起作用了
dulei115 2008-04-17
  • 打赏
  • 举报
回复
发送和接收之间的sleep已经加了,看32楼。
接收之后加不加sleep没用,我的recv已经出错了
tiger波波 2008-04-17
  • 打赏
  • 举报
回复
同时加
tiger波波 2008-04-17
  • 打赏
  • 举报
回复
不嫌麻烦的话,发送和接收之间,接受之后,各加个sleep试试
dulei115 2008-04-17
  • 打赏
  • 举报
回复
谢谢楼上的。。。。
我贴出来的代码有判断返回值啊。。。而且现在我的代码已经把返回值显示出来了,总是-1
我的代码只能贴成那样了,上面的代码和实际代码的区别肯定都是些无关的代码。
而且我的程序也不是说里面有严重错误,每天8k多笔交易中只有10笔左右会出这种错误。但是很奇怪每次报错都是同一个错误。

现在为了先解决问题,程序实现了重试机制,即发生这种错误的时候,客户端再重联,并发送同样的一个请求包,服务端收到同样的请求包时直接返回上次处理的结果。但是还是希望哪位大哥能够帮忙找出问题所在。。。。。。。

如果重试的机制测试通过了,而各位又没办法找到原因(或者说各位都认为代码没问题),那我也没辙了,这个问题只能放着了,到时候只能是散分了
cnzdgs 2008-04-16
  • 打赏
  • 举报
回复
首先确认recv返回的是SOCKET_ERROR,建议在recv之后用if语句判断返回值是SOCKET_ERROR时显示个消息框。
另外建议把真正的代码都贴出来,上面贴的这些代码看不出问题。
dulei115 2008-04-16
  • 打赏
  • 举报
回复
现在为了先解决问题,程序实现了重试机制,即发生这种错误的时候,客户端再重联,并发送同样的一个请求包,服务端收到同样的请求包时直接返回上次处理的结果。


但是还是希望哪位大哥能够帮忙找出问题所在。。。。。。。
dulei115 2008-04-15
  • 打赏
  • 举报
回复
send和recv之间添加了个sleep后,原来的10054错误变成了10038了。头疼死了,折腾了这么久还没好,哪位大哥帮帮忙。。。。。。。。。。。。。。。
TeddyGe 2008-04-15
  • 打赏
  • 举报
回复
我也出现过这样的问题,后来解决了, 请增大你的连接数.
cnzdgs 2008-04-08
  • 打赏
  • 举报
回复
LZ把测试出错的实际代码贴上,原代码或者测试代码都可以,不要裁剪和修改。
scq2099yt 2008-04-08
  • 打赏
  • 举报
回复
确定服务器和客户端之间的传输格式或者协议没有问题
dulei115 2008-04-08
  • 打赏
  • 举报
回复
回20楼的

不关那个的事,我们的系统都是一个包一个交易,包的长度不会超过2k,定义80000是最初始的类定义的。

另外出10053时候recv_len的值也显示出来的,是-1。根本不管缓冲的事。。
hurryboylqs 2008-04-08
  • 打赏
  • 举报
回复
关注,10053错误以前我也遇到过,不记得是什么原因了,没写有笔记
加载更多回复(26)

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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