免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1096 | 回复: 2
打印 上一主题 下一主题

还是那个UDP问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-11-10 14:21 |只看该作者 |倒序浏览
感谢各位高人,我把我的问题给大家详细描述一下吧!
我在Windows下写了一个客户程序,它的功能就是发送UDP广播包。
我现在要在Linux下开发一个服务程序,它的任务是接收这个广播包,并返回"yes"。问题是这样的:如果客户和服务器在同一网段,比如,客户在192.168.1.107,服务在192.168.1.123,没问题。如果客户和服务器不在同一网段,比如,我直接在windows下将192.168.1.107改成192.123.1.107,这时,服务程序能接到广播包,但返回"yes"时,sendto()函数返回-1。于是,我sendto到广播地址,我通过ifconfig得到eth0的广播地址是192.168.1.255,这时sendto()函数返回正确,但客户程序还是收不到我的"yes"。请问我怎样编写这个服务程序,才能在不同网段的条件下,客户能得到我的"yes"呢?

论坛徽章:
0
2 [报告]
发表于 2003-11-10 14:33 |只看该作者

还是那个UDP问题?

我要实现的功能大体是这样的:
有一个在物理上连接好的局域网,网内的计算机可能不处于同一网段。我想得到某些机器的IP地址。于是,我在这个网中的某台机器上运行这个客户程序,发送广播;在我想得到IP地址的那些机器上运行服务程序,它接到广播,然后返回"yes",客户程序得到这个"yes"包,就得到我想要的IP地址了!
先谢了!

论坛徽章:
0
3 [报告]
发表于 2003-11-10 16:29 |只看该作者

还是那个UDP问题?

解决了,增加一条路由
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP