簡體   English   中英

新Java套接字的狀態

[英]State of a new Java socket

當我在Java中聲明時

Socket s = new Socket((String)null, 12345);

這實際上是打開套接字並使用系統和網絡資源,還是延遲直到我附加輸入/輸出緩沖區? 我想在我的程序開始時創建一個Socket對象,它被設置為連接到服務器,並根據需要打開/關閉它,而不是必須傳遞一個地址和端口(看起來更干凈),但是如果它意味着端口將在整個時間打開。

編輯
從答案看來,這不會像我想的那樣起作用。 如何創建一個全部使用地址設置並且只需連接的已關閉套接字?

http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html#Socket(java.net.InetAddress,%20int) < - 它取決於您使用的構造函數。 對於您指定的構造函數,它將連接。

對於您的編輯:您必須設置自己的類,其中包含所有設置信息,然后可以稍后打開。 也許yüu會將數據存儲在那里並創建一個返回套接字的方法。 這取決於你,有很多方法可以做到這一點。 但要確保所有插座最后都正確關閉;)

Socket的每個構造函數都創建一個底層套接字,它使用系統資源,除了no-args構造函數之外的所有構造函數都連接它,它使用網絡資源。 沒有諸如“將輸入/輸出緩沖器附加”到Socket的操作。

暫無
暫無

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

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