五 NIO應用 群聊例項

2021-10-21 11:08:03 字數 1417 閱讀 4429

例項要求:

編寫乙個 nio 群聊系統,實現伺服器端和客戶端之間的資料非阻塞簡單通訊

實現多人群聊,單人群聊

伺服器端:可以監測使用者上線,離線,並實現訊息**功能

客戶端:通過channel可以無阻塞傳送訊息給其它所有使用者,同時可以接受其它使用者傳送的訊息(有伺服器**得到)

public

class

groupchatserver

private

void

listen()

throws ioexception

if(key.

isreadable()

)//當前的key 刪除,防止重複處理

iterator.

remove()

;}}else}}

private

void

readdata

(selectionkey key)

}catch

(ioexception e)

catch

(ioexception e2)}}

private

void

sendmsgtootherclients

(string msg, socketchannel clientself)

throws ioexception }}

public

static

void

main

(string[

] args)

throws ioexception

}

public

class

groupchatclient

private

void

sendmsg

(string msg)

throws ioexception

private

void

readmsg()

throws ioexception

} iterator.

remove()

;}}public

static

void

main

(string[

] args)

throws ioexception

catch

(exception e)}}

}.start()

;//傳送資料給伺服器端

scanner scanner =

newscanner

(system.in)

;while

(scanner.

hasnextline()

)}}

詳解NIO如何實現群聊?

構建selector以及服務端監聽 通道啟動監聽並處理建立連線請求 處理讀資料 資料 實現客戶端測試 服務端的主要功能如下 1.開放監聽埠,方法chatserver構造方法 2.處理鏈結請求,方法listener實現連線的建立 3.讀取訊息內容,方法readdata 當chatserver物件被建立...

NIO 入門例項

1.2.4 入門示例 1.2.4.1 服務端 流程 建立serversocketchannel 非阻塞 繫結埠 serversocketchannel serversocketchannel serversocketchannel.open serversocketchannel.configure...

NIO簡單應用

public class fileniocopydemo 複製兩個資源目錄下的檔案 private static void niocopyresourcefile private static void niocopyfile string sourcepath,string destpath lo...