【问题标题】:stream socket send/receive broadcast messages?流套接字发送/接收广播消息?
【发布时间】:2010-02-12 03:47:18
【问题描述】:

我浏览了python socket docs和google了两天,但没有找到任何答案。是的,我是网络编程新手 :)

我想根据我们的需要实现一些具有特定功能的局域网聊天系统。我在最开始。我能够实现一个客户端-服务器模型,其中客户端连接到服务器(socket.SOCK_STREAM)并且它们能够更改消息。我想向前迈进。我希望客户端通过广播发现有多少其他客户端可用。 我失败了。是否有可能无法将 socket.SOCK_STREAM 类型的套接字用于此任务? 如果是这样,我的机会是什么?使用 udp 数据包?如何收听广播消息/数据包?

【问题讨论】:

    标签: python


    【解决方案1】:

    广播由目标地址定义。

    比如你自己的ip是192.168.1.2,那么广播地址就是192.168.1.255(大多数情况下)

    它与 python 没有直接关系,可能不会出现在它的文档中。您正在搜索网络“通用”知识,其水平远高于套接字编程

    *编辑

    是的,你是对的,你不能使用 SOCK_STREAM。 SOCK_STREAM 定义 TCP 通信。您应该使用 UDP 与 socket.SOCK_DGRAM 进行广播

    【讨论】:

    • 谢谢 Eric,我会修改我的代码以更改为数据报通信。
    猜你喜欢
    • 2012-06-05
    • 2011-04-23
    • 2012-07-07
    • 1970-01-01
    • 2021-07-09
    • 2018-02-27
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多