2011-12-01 47 views
0

我目前正在爲一個項目在學校開發一個簡單的聊天客戶端和服務器。現在我在發送/讀取信息以及objectoutputstream和objectinputstream時遇到了麻煩,作爲一個例子說明爲什麼我希望這樣可以驗證發送和接收完整的聊天消息。Java - 讀寫流標頭

因此,我查找了任何方法來添加標頭到我通過網絡發送的數據包,並偶然發現了方法readStreamHeader()和writeStreamHeader()。我的第一個問題是,這兩種方法會做我需要他們做的事嗎?其次,有沒有關於這兩個實際做法的文件,我一直無法充分了解它們。第三,實現我的目標有沒有更簡單/更好/更正確的方法?

我所需要的只是在右側/任何方向稍微移動一下,現在就卡住了。希望我提供了一個足夠好的問題,第一次嘗試在這裏!

回答

0

爲什麼您需要用於此目的的streamheader?你可以簡單地編寫一個套接字程序發送帶有TCP連接的對象。我認爲你不必爲聊天客戶端和服務器去深入(數據包級別)。 這是一個簡單的demonstration

+0

除了在服務器和客戶端之間發送消息之外,我還需要服務器能夠發送連接的用戶列表以及您可以加入和聊天的主題列表。我怎樣才能向服務器發送請求,以便它知道發回的是什麼,或者如何處理爲特定主題綁定的消息。我可能會以錯誤的方式解決它?如果是這樣,那麼更好的方法是什麼? – user1075759

+0

你是否檢查過我用「demostration」標記的鏈接?有完整的代碼。但是你需要明白,你可以發送客戶端到服務器的對象流,它保存你需要的所有信息。 – nebula

+0

是的,看到了鏈接,我已經基於該代碼和其他類似示例上的大部分內容。但是,如果我想發送一個msg對象到服務器,然後我想發送一個更新的用戶列表的請求。我怎麼能告訴服務器什麼是什麼? – user1075759