2010-02-11 118 views
6

我瀏覽了python套接字文檔和谷歌兩天,但我沒有找到任何答案。是的,我是一個網絡編程新手:)流套接字發送/接收廣播消息?

我想實現一些具有特定功能的局域網聊天系統滿足我們的需求。我剛剛開始。我能夠在客戶端連接到服務器(socket.SOCK_STREAM)的情況下實現客戶端 - 服務器模型,並且他們能夠更改消息。我想挺身而出。我希望客戶端通過廣播發現局域網有多少其他客戶端可用。 我失敗了。有沒有可能是一個socket.SOCK_STREAM類型套接字不能用於此任務? 如果是這樣,我的機會是什麼?使用udp數據包?我如何收聽brodcast消息/數據包?

回答

4

廣播由目的地址定義。

例如,如果你自己的IP爲192.168.1.2,廣播地址是192.168.1.255(在大多數情況下)

它沒有直接關係,Python和大概不會是它的文檔。您正在搜索網絡「一般」的知識,比插座高得多的水平編程

*編輯

是的,你是對的,你不能使用SOCK_STREAM。 SOCK_STREAM定義TCP通信。您應該使用UDP進行廣播socket.SOCK_DGRAM

+0

謝謝埃裏克,我會修改我的代碼以更改爲數據報通信。 – sipiatti

+0

好的,完成了。我不知道。 – sipiatti