IdUDPServer/IdUDPClient广播的简单问题

xjhwc 2008-11-20 11:40:36
共9台计算机,在不同的网段中,地址如下:

单位 IP地址 子网掩码 默认网关

一队:11.187.110.112 255.255.255.224 11.187.110.97
二队:11.187.111.185 255.255.255.224 11.187.111.161
三队:11.187.111.195 255.255.255.224 11.187.111.193
四队:11.187.114.230 255.255.255.224 11.187.114.225
五队:11.187.116.133 255.255.255.224 11.187.116.129
六队:11.187.117.200 255.255.255.224 11.187.117.193
七队:11.187.118.141 255.255.255.224 11.187.118.129
八队:11.187.120.131 255.255.255.224 11.187.120.129

中心:11.187.121.255 255.255.255.224 11.187.121.225

server启动后,发一个广播消息,client收到消息后,给server发一个在线的消息,server就可以判断那些clinet在线了。由于在不同的网段中,用广播的形式:IdUDPClient1->Broadcast("AAA",19000);肯定不行,想了个办法,在程序中把client的IP地址先初始化好,然后server启动后,不用广播的形式判断哪个client在线,而用循环的形式给各client发消息判断。
IdUDPClient1->Host=b_host;
IdUDPClient1->Port=19000;
IdUDPClient1->Send("AAA");
想问的问题是:
1、Send("AAA")能否在不同的网段中发送
2、SendBuffer() Send()有什么区别
...全文
320 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujiajia1989 2008-11-20
  • 打赏
  • 举报
回复
帮顶啊
yuanreid 2008-11-20
  • 打赏
  • 举报
回复
1、Send("AAA")能否在不同的网段中发送
只要路由通,就可以发送到。另外还要检查防火墙是否对端口有限制
2、SendBuffer() Send()有什么区别
一个是发送缓冲区,一个是发送文本
周药师 2008-11-20
  • 打赏
  • 举报
回复
第一个问题我没有试过...
第二个问题:2、SendBuffer() Send()有什么区别:

bt.set_length(2);//设定数组长度
bt[0]=0x001;
bt[1]=0x002;
IdUDPClient1->SendBuffer("192.168.123.160",10005,bt);//发的是TBytes类型的(动态的byte数组)
...

IdUDPClient1->Send(str) ;//发的是字符串...

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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