導航:首頁 > 編程語言 > 瘋狂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相關的資料

熱點內容
ps文件在電腦上突然就沒有了 瀏覽:516
怎麼把幾十張照片做成word文件 瀏覽:483
桌面文件設置成了d盤怎麼改回來 瀏覽:733
電腦d盤里的文件有哪些可以刪除 瀏覽:948
3dmax簡單動畫教程 瀏覽:944
數據線中的bit是什麼意思 瀏覽:938
word怎麼匯總同名文件 瀏覽:806
探月編程優勢有哪些 瀏覽:321
瘋狂java講義2 瀏覽:805
微雲文件迅雷下載不了 瀏覽:206
幼兒刷卡編程和Ai編程哪個難教 瀏覽:835
word2010樣式標題4 瀏覽:47
政務微信壓縮文件 瀏覽:407
怎麼用兒童編程加重力 瀏覽:640
app無法載入數據什麼情況 瀏覽:135
天威無線貓設置密碼 瀏覽:433
內部儲存文件有哪些 瀏覽:970
把txt文件轉為word 瀏覽:710
編程游戲選什麼類型 瀏覽:326
米8是什麼數據線 瀏覽:96

友情鏈接