Hideout chat
1.0.0
使用 java 套接字無需訪問互聯網的 LAN 聊天應用程式
用戶A打開程序,選擇名字和頭像,點擊登錄,開始登陸區域網,用戶A登錄程序會同時啟動兩個線程,一個線程在UDP服務終端內部(端口號9156),用於等待其他用戶登錄,裡面有另一個執行緒啟動TCP服務端(埠號9155),等待其他使用者的Socket連接,同時使用者A也會使用UDP廣播一個UDP包出去。這個UDP套件中包含使用者名稱、ip位址等訊息,該UDP套件被傳送到同一區域網路內所有具有相同連接埠的UDP服務端程序,包括本程序。
如果還有其他線上用戶,那麼每個線上用戶程式UDP服務端都會收到這個UDP包,然後取出用戶訊息,將用戶A添加到線上列表中,因為UDP包中包含了用戶A的ip位址,所以每個線上用戶使用用戶A的ip位址向用戶A發送回覆。
用戶A等待一段時間,就會收到所有線上用戶的回复,然後所有線上用戶都會將用戶A添加到自己的線上列表中。
聊天方法與通常的多執行緒方式一樣,兩個裝置充當伺服器,我們可以說它是一個p2p應用程式。