利用UDP协议实现广播通信

利用UDP协议实现广播通信

在开发应用程序时,如果需要向网络中的所有用户发送信息,可以采用UDP协议进行广播通信,而不用一一向每个用户发送消息。在程序中使用广播通信非常简单,在创建套接字后,调用‘SetSockOpt’方法使套接字具有SO_BROADCAST选项。然后再发送消息时,降低至设置为广播形式。

//创建套接字
m_PServerSoket=new CServerSocket(this);
char name[MAX_PATH];
gethostname(name.MAX_PATH);
hostent* hostInfo=gethostbyname(name);
CString ip=inet_ntoa(*(in_addr*)hostInfo->h_addr_list[0]);
if(!m_pServerSocket->Create(100.SOCK_DGRAM,ip))
    MessageBox("套接字创建失败");

//广播信息
CString str;
m_Data.GetWindowText(str);
SOCKADDR_IN addr;
addr.sin_family=AF_INET;
addr.sin_addr.S_un.S_addr=INADDR_BROADCAST;
addr.sin_port=htons(100);
int len=m_pSocket->SendTo(str.GetBuffer(0).str.GetLength().(SOCKADDR*)&addr,sizeof(addr));
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值