幾天沒更新了,貼乙個以前的作業程式

2021-03-31 08:56:31 字數 733 閱讀 7042

聊天室程式可以說是最簡單的多點通訊程式。聊天室的實現方法有很多,但都是利用所謂的「多使用者空間」來對資訊進行交換,具有典型的多路

i/o的架構。乙個簡單的聊天室

, 從程式設計師的觀點來看就是在多個

i/o端點之間實現多對多的通訊。其核心就是多路

i/o通訊。多路

i/o通訊又被稱為

i/o多路復用(

i/o multiplexing)在

unix/linux

下,可以使用的

i/o模型有5個:

l

阻塞i/o l

非阻塞i/o l

i/o復用(

select

和poll)

l訊號驅動

i/o(

sigio)

l非同步

i/o(

posix.1

的aio_

系列函式)

由於要處理多路

i/o,所以阻塞方式顯然不能令人滿意。非阻塞

i/o採用了輪詢,對

cpu時間是很大的浪費。對於訊號驅動(

sigio

)和非同步

i/o方法:首先,非同步

i/o是基於訊號機制的,並不可靠;其次單一的訊號不足以提供更多的資訊**,還是需要輔助以其他的手段,實現上有很高的難度。綜合以上,對非阻塞

i/o和

select

方式進行了測試,最後的選擇是

select

乙個以前沒發現的EJB古怪問題

昨天修改了專案中乙個ejb實現類,重新編譯,然後發布,發布成功,看來一切都是好好的。然後啟動客戶端進行測試。怪事出現了,只要一呼叫ejb,控制台就報如下錯誤 真是怪事,類不相容錯誤?應用中的類都是用jdk1.4編譯的,怎麼會不相容?於是把ejb重新打包 重新佈署,這樣來來回回折騰好多次,問題依然存在...

這幾天的乙個總結

這幾天一直都在編寫和除錯乙個排程分析程式,把一些體會做個筆記,以便不再犯同樣的錯誤 1.編寫不規範,全域性變數和區域性變數命名有時候不遵循一般原則,有時候會交叉使用 乙個方法的 量過長,有時候能達到幾百行,應當把公共部分抽取出來,可以拆分為幾個小的方法 這樣 看起來簡潔易懂 2.粗心大意,自信到自大...

這幾天的乙個總結

這幾天一直都在編寫和除錯乙個排程分析程式,把一些體會做個筆記,以便不再犯同樣的錯誤 1.編寫不規範,全域性變數和區域性變數命名有時候不遵循一般原則,有時候會交叉使用 乙個方法的 量過長,有時候能達到幾百行,應當把公共部分抽取出來,可以拆分為幾個小的方法 這樣 看起來簡潔易懂 2.粗心大意,自信到自大...