簡體   English   中英

Java客戶端服務器通信中的套接字創建

[英]Sockets creation in java client server communication

在涉及客戶端GUI的Java套接字客戶端服務器程序中,請牢記以下幾點:

  1. 客戶端/服務器之間的交互不會持續進行,這意味着最終用戶可能會保持GUI處於打開狀態,但是每隔一段時間只會按下按鈕/啟動請求。

  2. 服務器將為每個客戶端啟動一個新線程

  3. 所有I / O將通過ObjectInput / OutputStream

因此,基於以上內容,什么是連接/套接字創建的最佳方法:

  1. 為每個客戶端啟動一個套接字連接並保持其活動狀態,直到客戶端關閉其GUI /會話,並處理該同一連接內的所有I / O會更好嗎?
  2. 還是僅在每次客戶端請求某些內容時啟動新的套接字連接,並在服務器響應傳遞后立即將其關閉? (以便一個客戶端GUI會話可能與服務器有多個連接/斷開連接)

相互使用時的利弊是什么?

非常感謝

對於由用戶“單擊”發起的請求,我將使用第二種模式,在該模式下,您將分別為每個用戶操作打開和關閉連接。 這將使您不必永遠保持多個打開的連接。 永遠保持連接可能會導致資源耗盡類型的許多問題。 如果您沒有真正重要的理由保持開放連接,例如。 您需要通過一些實時消息(例如聊天)來響應客戶端,但是可以在請求后直接做出響應,那么不保持連接會容易得多。 最好不要保持開放的空閑連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM