導航:首頁 > 編程語言 > 瘋狂java講義2

瘋狂java講義2

發布時間:2025-09-30 17:55:06

A. 瘋狂java講義:使用MulticastSocket實現多點廣播(2)

下面將結合MulticastSocket和DatagramSocket開發一個簡單的區域網內的即時通信工具 區域網內每個用戶啟動該工具後 就可以看到該區域網內所有在線用戶 他也會被其他用戶看到 即看到如圖 所示的窗口

在圖 的用戶列表中雙擊任意一個用戶 即可啟動一個如圖 所示的交談窗口

圖 區域網聊天工具

圖 與特定用戶交談

如果雙擊圖 所示用戶列表窗口中 所有人 列表項 即可啟動一個與圖 相似的交談窗口 不同的是通過該窗口發送的消息將會被所有人看到

程序的實現思路是每個用戶都啟動 個Socket 一個MulticastSocket 一個DatagramSocket

其中MulticastSocket會周期性地向 發送在線信息 且所有用戶的MulticastSocket都會加入到 這個多點廣播IP中 這樣每個用戶都可以收到其他用戶廣播的在線信息 如果系統經過一段時間沒有收到某個用戶廣播的在線信息 則從用戶列表中刪除該用戶 除此之外 該MulticastSocket還用於向所有用戶發送廣播信息

DatagramSocket主要用於發送私聊信息 當用戶收到其他用戶廣播來的DatagramPacket時 即可獲取該用戶MulticastSocket對應的SocketAddress 這個SocketAddress將作為發送私聊信息的重要依據 本程序讓MulticastSocket在 埠監聽 而DatagramSocket在 埠監聽 這樣程序就可以根據其他用戶廣播來的DatagramPacket得到他的DatagramSocket所在的地址

本系統提供了一個UserInfo類 該類封裝了用戶名 圖標 對應的SocketAddress以及該用戶對應的交談窗口 失去聯系的次數等信息 該類的代碼片段如下

程序清單 codes/ / /LanTalk/UserInfo java

public class UserInfo

{

//該用戶的圖標

private String icon;

//該用戶的名字

private String name;

//該用戶的MulitcastSocket所在的IP和埠

private SocketAddress address;

//該用戶失去聯系的次數

private int lost;

//該用戶對應的交談窗口

private ChatFrame chatFrame;

public UserInfo(){}

//有參數的構造器

public UserInfo(String icon String name SocketAddress address int lost)

{

this icon = icon;

this name = name;

this address = address;

this lost = lost;

}

//此處省略了該類所有屬性的setter和getter方法

//使用address作為該用戶的標識 所以根據address作為

//重寫hashCode()和equals方法的標准

public int hashCode()

{

return address hashCode()

}

public boolean equals(Object obj)

{

if (obj != null && obj getClass()==UserInfo class)

{

return ((UserInfo)obj) getAddress() equals(address)

}

return false;

}

}

返回目錄 瘋狂Java講義

編輯推薦

Java程序性能優化 讓你的Java程序更快 更穩定

新手學Java 編程

lishixin/Article/program/Java/hx/201311/27257

B. 瘋狂Java講義的源碼如何導入eclipse運行

Java項目的源代碼通過一下四部完成導入到eclipse

1、單擊eclipse的file菜單 ,選擇 import project from file system

2、在彈出的窗口單擊 diretory 按鈕 選擇Java源代碼文件系統所在的目錄

3、單擊「選擇文件夾 」完成將java源代碼導入到eclispe系統

你明白了嗎?

C. JAVA零基礎者應該看什麼書比較好

java 全棧工程師

一個java零基礎自學網站分享-我的文章-知乎https://zhuanlan.hu.com/p/47785978

閱讀全文

與瘋狂java講義2相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接