如何将UDP消息发送到局域网中的每台计算机

liuhui

我想通过不使用广播将Udp消息发送到局域网中的每台计算机。所以,我的代码是这样的:

int sock = socket(AF_INET, SOCK_DGRAM, 0);

sockaddr_in tarAddr;
memset(&tarAddr, 0, sizeof(sockaddr_in));
tarAddr.sin_family = AF_INET;
tarAddr.sin_port = htons(1985);

char szTarAddr[16] = {0};

for(int i=2; i<255; i++)
{
    sprintf(szTarAddr, "192.168.1.%d", i);

    //if address is me, Ignore by continue...
       ...

    tarAddr.sin_addr.s_addr = inet_addr(szTarAddr);
    sendto(sock, msg, 18, 0, (sockaddr*)&tarAddr, sizeof(sockaddr));
}

仅大约前20台计算机(192.168.1.2〜192.168.1.20)可以接收到该消息,而其他大多数计算机则无法接收到该消息。

我尝试发送到20台计算机,然后睡眠(5),然后发送到其他20台计算机,依此类推。但是这种方式是没有用的。

山姆·瓦尔沙夫奇克

根据定义,UDP是无状态的,并且不能保证传递。来自https://en.wikipedia.org/wiki/User_Datagram_Protocol

不保证交货,订购或重复保护。

因此,您已经观察到某些UDP数据包未传递。这是完全可以的,因为不能保证UDP数据包的传递。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将UDP消息发送到局域网中的每台计算机

来自分类Dev

如何在两台计算机之间通过局域网发送文件

来自分类Dev

如何在局域网中同时在多台计算机上安装Ubuntu OS

来自分类Dev

如何使用python套接字模块将消息发送到远程计算机?

来自分类Dev

如何将pulseaudio流发送到另一台计算机?

来自分类Dev

优先处理来自局域网计算机的流量

来自分类Dev

通过局域网的超级计算机

来自分类Dev

优先处理来自局域网计算机的流量

来自分类Dev

通过局域网从对等计算机下载更新

来自分类Dev

无法从外部局域网连接到计算机

来自分类Dev

如何在同一局域网中的两台计算机之间传输文件?

来自分类Dev

如何查找同一局域网中其他计算机的主机名?

来自分类Dev

Ubuntu 16.04,如何与同一局域网中的Windows计算机共享卸载的磁盘/分区?

来自分类Dev

如何在所有局域网计算机上远程运行“ winrm quickconfig”

来自分类Dev

如何使用主机名从局域网访问计算机

来自分类Dev

如何发现局域网中所有计算机的主机名?

来自分类Dev

如何保护从局域网访问AWS经典EC2计算机的安全

来自分类Dev

如何通过局域网在两台Linux计算机之间共享文件?

来自分类Dev

如果没有局域网连接,如何关闭计算机

来自分类Dev

如何访问局域网之外的另一台计算机的终端?

来自分类Dev

如何通过(SoftEther)VPN连接到局域网计算机?

来自分类Dev

测量局域网中两台计算机之间的带宽

来自分类Dev

在其局域网中是否可以找到私有Linux计算机的名称?

来自分类Dev

联网。不同局域网中两台计算机之间的连接

来自分类Dev

将UDP数据发送到所有局域网上的Android

来自分类Dev

将消息从Node.js服务器发送到Windows计算机

来自分类Dev

XState.js如何将上下文发送到计算机?

来自分类Dev

如何使用KDE Connect将文件从计算机发送到手机?

来自分类Dev

如何通过php将数据发送到另一台计算机?

Related 相关文章

  1. 1

    如何将UDP消息发送到局域网中的每台计算机

  2. 2

    如何在两台计算机之间通过局域网发送文件

  3. 3

    如何在局域网中同时在多台计算机上安装Ubuntu OS

  4. 4

    如何使用python套接字模块将消息发送到远程计算机?

  5. 5

    如何将pulseaudio流发送到另一台计算机?

  6. 6

    优先处理来自局域网计算机的流量

  7. 7

    通过局域网的超级计算机

  8. 8

    优先处理来自局域网计算机的流量

  9. 9

    通过局域网从对等计算机下载更新

  10. 10

    无法从外部局域网连接到计算机

  11. 11

    如何在同一局域网中的两台计算机之间传输文件?

  12. 12

    如何查找同一局域网中其他计算机的主机名?

  13. 13

    Ubuntu 16.04,如何与同一局域网中的Windows计算机共享卸载的磁盘/分区?

  14. 14

    如何在所有局域网计算机上远程运行“ winrm quickconfig”

  15. 15

    如何使用主机名从局域网访问计算机

  16. 16

    如何发现局域网中所有计算机的主机名?

  17. 17

    如何保护从局域网访问AWS经典EC2计算机的安全

  18. 18

    如何通过局域网在两台Linux计算机之间共享文件?

  19. 19

    如果没有局域网连接,如何关闭计算机

  20. 20

    如何访问局域网之外的另一台计算机的终端?

  21. 21

    如何通过(SoftEther)VPN连接到局域网计算机?

  22. 22

    测量局域网中两台计算机之间的带宽

  23. 23

    在其局域网中是否可以找到私有Linux计算机的名称?

  24. 24

    联网。不同局域网中两台计算机之间的连接

  25. 25

    将UDP数据发送到所有局域网上的Android

  26. 26

    将消息从Node.js服务器发送到Windows计算机

  27. 27

    XState.js如何将上下文发送到计算机?

  28. 28

    如何使用KDE Connect将文件从计算机发送到手机?

  29. 29

    如何通过php将数据发送到另一台计算机?

热门标签

归档