晕倒, 竟然还有这样的问题, IdUdpSever 在Win98下无法接收广播?高手请进,解决问题另外加300分。 ( 积分: 100 )

  • 主题发起人 主题发起人 xuxiaohan
  • 开始时间 开始时间
X

xuxiaohan

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序是企业内部网使用的QQ,以前用nmUdp 进行通讯, 近来因为增加动态表情,改用IdUdp, 因为没有服务程序,登录时候发广播,


昨天发现一个问题, 在win98 下IdUdpSever 无法收到 广播, 以至其他在线用户无法知道对方登录, 惨!

一开始没有留意这个问题, 我开始用几台装 WinXp 的电脑调试的, 根本就没有问题, 广播地址 是 255.255.255.255 或者 是128.30.255.255,都没有问题。

procedure Tdm.Login;
begin
UdpClient.Host:=GetBroadCastIp;
sendPkInfo(dmLogin);
end;

procedure Tdm.sendPkInfo(DlgMsg: TDlgMessage);
var
info: TbaseInfo;
begin
writebaseInfo(info, DlgMsg);
UdpClient.SendBuffer(info, sizeof(info));
end;

 
我的程序是企业内部网使用的QQ,以前用nmUdp 进行通讯, 近来因为增加动态表情,改用IdUdp, 因为没有服务程序,登录时候发广播,


昨天发现一个问题, 在win98 下IdUdpSever 无法收到 广播, 以至其他在线用户无法知道对方登录, 惨!

一开始没有留意这个问题, 我开始用几台装 WinXp 的电脑调试的, 根本就没有问题, 广播地址 是 255.255.255.255 或者 是128.30.255.255,都没有问题。

procedure Tdm.Login;
begin
UdpClient.Host:=GetBroadCastIp;
sendPkInfo(dmLogin);
end;

procedure Tdm.sendPkInfo(DlgMsg: TDlgMessage);
var
info: TbaseInfo;
begin
writebaseInfo(info, DlgMsg);
UdpClient.SendBuffer(info, sizeof(info));
end;

 
是不是有什么协议没有安装?
应该不会有问题。
 
什么协议没有安装? 以前用 nmUdp 在98下都可以 收到广播的。。。
 
我的怎么可以收到广播啊?
我以前也是这么做的,都没找到有什么问题啊(不管是98、2000还是XP)
 
搜索以前的帖子, 存在同样的问题, 都没有解决, 你的可以,我的为什么不可以, 难度于操作系统有关, 我的是 WinXp 广播 给 win98se 英文版。 win98se 英文版收不到广播。
 
来自:satanmonkey, 时间:2003-1-17 20:19:00, ID:1587074

broadcastenabled:=ture
了没有?
得分大富翁:chriszx-10,doll_paul-10,naughtboy-10,satanmonkey-100,seagod007-50,zw84611-100,zyf23-10,张无忌-10,
---------------------------------------------------------------------
你想想他为什么会得100分,他就回答了一次.
 
这个我自然是知道的。。
不是这个问题。
 
问题没有解决
 
是不是跨网段了(通过路由器)?交换机有没有特殊设置?客户端上是否有防火墙。
 
没有通过路由,客户端也没有防火墙, Xp 跟Xp 没有问题。
 
你再确认一下
broadcastenabled:=ture
做了吗,我想不出别的答案了。是不是再某个地方不小心有弄成false了。
 
确认了,不是这个问题
 
不要用这破玩意了
 
现在还未delphi7, 用d7 自带的 indy, 就没有问题了,以前是用d6+下载的indy(源码)
 
后退
顶部