有网络组播或广播控件吗,那个bc自带的TNMUDP好像不行。

LJN 2002-03-29 10:42:46
地址必须存在,我设成234.5.6.7就不行了。
...全文
26 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wyb_45 2002-03-29
广播是不可以穿透路由器(网关)的。除非有客户软件或路由器特别设置。
  • 打赏
  • 举报
回复
wyb_45 2002-03-29
广播地址是234.5.6.255。
  • 打赏
  • 举报
回复
augur 2002-03-29
使用广播函数:
1)先声明
void BroadcastMessage(AnsiString Message, TCustomWinSocket *ExcludeSocket);
2)函数实现
void TForm1::BroadcastMessage(AnsiString Message, TCustomWinSocket *ExcludeSocket)
{
for(int i=0; i<ServerSocket1->Socket->ActiveConnections; i++)
{
if(ServerSocket1->Socket->Connections[i]!=ExcludeSocket)
{
ServerSocket1->Socket->Connections[i]->SendText(Message);
}
}
}
3)调用
void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==VK_RETURN)
{
BroadcastMessage(Memo1->Text,ServerSocket1->Socket);
Memo1->Clear();
}
}

这是服务端的
  • 打赏
  • 举报
回复
webtt 2002-03-29
你只能用SOCKET写。而且硬件也必须支持。
  • 打赏
  • 举报
回复
pp616 2002-03-29
我正在用组播。但是需要路由器支持的啊。你用TNMUDP也可以吗。我试了不行的啊。
  • 打赏
  • 举报
回复
LJN 2002-03-29
硬件没问题,我用SDK在VC下开发的send/receive都可用,
用的是234.5.6.7,组播方式。

用TNMUDP对234.5.6.7发送receive也能收到,
可是用send对234.5.6.7发送TNMUDP没收到。

现在来看TNMUDP可以进行组播发送,可不能接受。
似乎TNMUDP是将地址和端口作为发送端bind到了本地,可没bind接受的地址和端口

谁试过用bc做组播的?
  • 打赏
  • 举报
回复
invalid 2002-03-29
广播好像和接收地址有关吧。ip的最后一位设置为全1,应该就可以。当然网络也要支持。
如:192.168.0.255 (255=0xff=1111111111111111)
  • 打赏
  • 举报
回复
我不懂电脑 2002-03-29
网络组播或广播需要你的硬件支持。
  • 打赏
  • 举报
回复
发帖
茶馆
加入

538

社区成员

C++ Builder 茶馆
社区管理员
  • 茶馆
申请成为版主
帖子事件
创建了帖子
2002-03-29 10:42
社区公告
暂无公告