2013-05-05 109 views
2

我在寫一個平臺遊戲,我認爲爲在同一個網絡上玩的人添加一個多玩家模式會很酷。我的問題是,我將如何通過在特定端口上打開的所有可用計算機進行查詢以便連接玩多人遊戲,然後我將如何與他們建立連接。我以爲我可以創建一個套接字,並嘗試連接每個端口,但是如果我不知道另一臺計算機的IP地址,我該如何做。在谷歌我看到這個問題被問了幾次,但沒有任何答案實際上似乎有幫助。連接到lan網絡

回答

1

你會希望廣播一條消息(廣播被網絡上的所有設備接收)。那麼你會讓其他機器監聽這些傳入的廣播。

基本上在廣播中,您會宣傳計算機正在運行該程序,並且願意建立直接連接。然後,其中一臺電腦會直接連接另一臺電腦,然後從那裏開始工作。

編輯:Someones similarily done aproach in java (blog post)

+0

但我怎麼會從服務器知道當客戶端試圖連接 – 2013-05-05 11:55:48

+0

你會在服務器廣播它的存在,並在廣播它可以告訴它監聽到的端口號。然後所有的客戶端將連接到廣告端口。我沒有真正關注網絡編程,但服務器應該能夠看到傳入的連接? – varesa 2013-05-05 13:03:40

+0

我認爲病態只是使用單獨的線程 – 2013-05-05 16:39:31