免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: berryfly

求救!!:关于UNIX系统UDP编程问题 [复制链接]

论坛徽章:
0
发表于 2005-10-28 11:54 |显示全部楼层

求救!!:关于UNIX系统UDP编程问题

很难说,单就丢包问题来说是因为你的客户端发送的包被服务器给drop掉了。可能是你的客户端发的包速度太快。请你先找个tcp通信的例子先运行一下,如果成功说明udp也可以成 再找原因,如果tcp都不成功.......

论坛徽章:
0
发表于 2005-10-31 13:02 |显示全部楼层

有新进展和新问题了,快来看!!

今天我将WIN客户端的发送数字由原来的30-90改到10-70(每秒钟发送),结果接收端屏幕上就每秒钟显示字符串“.........ABCDE”(如图所示),如果改为8-68就显示为"...........ABC",也就是说能收到数据了,但为会将发送的数值型(int)显示为接收端的字符型(char),虽然显示的是键盘的ASCII符号,但至少说明发送和接收程序通了。
现在有几个问题,不知你有什么见解:
1、为什么发送30-90就接收不到数据呢?
2、发送10-70好象也不是接收所有60个字符,比这些短(如图),如果发送8-68,接收到的字符串是发送10-70接收到的字符串的一个子串(变短了,而不是正常理解的向前移动两位),为什么?
3、由于发送是int,接收是char,如何修改接收程序,使接收和显示的都是int 或float型呢?
特向你请教!!非常感谢!!

注:
图中上面显示数据是发送8-68后收到的字符串显示
图中下面显示数据是发送10-70后收到的字符串显示

[ 本帖最后由 berryfly 于 2005-10-31 13:05 编辑 ]
未标题-3 拷贝.gif

论坛徽章:
0
发表于 2005-10-31 14:02 |显示全部楼层
1、为什么发送30-90就接收不到数据呢?
这个估计和你系统的设置有关。我用的红帽就没有哪个限制。
2、发送10-70好象也不是接收所有60个字符,比这些短(如图),如果发送8-68,接收到的字符串是发送10-70接收到的字符串的一个子串(变短了,而不是正常理解的向前移动两位),为什么?
这个我解释不了。估计是系统的问题,或是程式传送和接受中数据格式不同所导致。
3、由于发送是int,接收是char,如何修改接收程序,使接收和显示的都是int 或float型呢?
这个很好修改,最好是把客户端发送的类型修改为char型。没有必要用法律float来显示。建议你去看看IRIX系统中定义的数据类型的结构,看是否和标准的相同。

论坛徽章:
0
发表于 2005-10-31 15:11 |显示全部楼层
第三个问题,能否修改服务器端,因为我的最终目的是要可户端数据进行数值计算,而不是单纯为了显示。谢谢!

论坛徽章:
0
发表于 2005-10-31 17:28 |显示全部楼层
可以修改 。把服务器的显示方式变化了就OK

论坛徽章:
0
发表于 2005-11-01 12:36 |显示全部楼层
我把客户端和服务器端程序都发给你,你帮我看看哪里不匹配,好吗?能帮我正常显示接收到的数据就可以了,非常感谢!!!!!!!!!!!!!!!!!!!!!!!!!!
发到你edmj007.xp@163.com邮箱,请查收。

论坛徽章:
0
发表于 2005-11-01 12:58 |显示全部楼层
我去看看

论坛徽章:
0
发表于 2005-11-01 14:59 |显示全部楼层
我好笨呀,好象忘了发附件,哈哈,再发一次,请查收。

论坛徽章:
0
发表于 2005-11-02 11:06 |显示全部楼层
我把语法错误都改了,但在obj生成exe时还是出错,出错信息发到你邮件了了,请查收。谢谢!!

论坛徽章:
0
发表于 2005-11-02 11:21 |显示全部楼层
我怎么没收到再发一个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP