请问如何在Delphi中的Socket实现地址广播(100分)

  • 主题发起人 主题发起人 yagqfhd
  • 开始时间 开始时间
Y

yagqfhd

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]
我打算写一个区域网中的工具 C/S结构
 其中服务端及客户端IP地址都未知,如何利用地址广播来获取对方的地址??
 
我在做一个局域网考试软件时,也遇到同样问题。我是这样做的,不知是否合理,请大家探讨:
服务端先用UDP广播一个消息(必须先取得本机IP及子网掩码,然后算出广播地址。如:本机IP=192.168.1.1,掩码为255.255.255.0,则广播地址=192.168.1.255)
客户端收到消息后便从FromIP参数获知服务端的IP,再以Clientsocket向服务端的Serversocket提出连接请求,建立起连接后进行通信。
这样客户端不用手工指定服务端的IP。
请各位高手发表见解。
 
>服务端先用UDP广播一个消息(必须先取得本机IP及子网掩码,然后算出广播地址。
如:本机IP=192.168.1.1,掩码为255.255.255.0,则广播地址=192.168.1.255)

我想知道具体怎么广播?是向每个机子发特定的消息吗?
 
将UDP的RemoteHost指定为广播地址,再设定端口就行了。
 
可以用RecvFrom得到对方地址,或把地址显式地放在报文中。
 

Similar threads

回复
0
查看
978
不得闲
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
后退
顶部