免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: berryfly
打印 上一主题 下一主题

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

论坛徽章:
0
21 [报告]
发表于 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
22 [报告]
发表于 2005-10-31 17:28 |显示全部楼层
可以修改 。把服务器的显示方式变化了就OK

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

论坛徽章:
0
24 [报告]
发表于 2005-11-02 11:21 |显示全部楼层
我怎么没收到再发一个。

论坛徽章:
0
25 [报告]
发表于 2005-11-02 11:45 |显示全部楼层
原帖由 berryfly 于 2005-11-2 11:22 发表
你的程序我编译了一下,排除语法错误后可以生成OBJ文件,但是还是在生成EXE文件时出错了,现在把错误提示和我修改过的程序发给你,能再帮我看看吗?
   好象是系统无法识别FDZERO、FDSET、FDISSET,不知道这三个 ...

FD_ZERO()
FD_SET();
FD_ISSET();
不好意思,笔误,我没调试:)。

论坛徽章:
0
26 [报告]
发表于 2005-11-03 15:48 |显示全部楼层
好 看来我的猜想没有错!问题好象就是出在了你的客户端上。fread和fwrite 是格式化读写函数,所以他们发送的结构体信息到了你的服务器端就成了乱码
修改:
open("file",O_RDONLY);

rlen = read(sockfd,buf,sizeof(buf));

sendto(sockfd,....);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP