0
我正在開發基於套接字的web服務(套接字客戶端)和外部服務器之間的通信。由於webservices是多線程的(服務器爲每個服務請求創建一個線程),每個線程應該在外部服務器上打開一個新的套接字(在給定的端口上),還是應該在Web服務線程之間同步和共享套接字客戶端。 我在這裏感到困惑。打開的客戶端Socket(java.net.Socket的對象)是一個昂貴的對象,如JDBC Connection,或者它可以(應該)由每個線程打開並在完成時由線程關閉。基於Webservice的套接字客戶端
請幫
感謝
在所有線程共享相同套接字的情況下,我可以使用blockQueues。由於線程可以產生請求並消費響應,我可以讓singleton組件說「Soketer」持有套接字並且有兩個BlockQueue(傳入和傳出)。傳出隊列上的任何消息都寫入套接字,並且來自套接字的任何消息都會發送到傳入隊列。所有線程都有對Sockert對象的引用。 – amique