0
我是新來的TCP編程所以這裏是幾個簡單的問題:C#TcpClient的連接和多線程
客戶端應用程序被調用的監聽器。 我打開與TcpClient的連接:
TcpClient myTcp = new TcpClient("Server", 1000); myTcp.connect();
多久會
myTcp
保持聯繫嗎?有沒有默認值?我可以改變它嗎?如果我的調用應用程序有多個線程(這是一個WCF服務),每個線程都必須調用一個監聽器。我可以創建
myTcp
作爲單例,並在多個線程中重用它嗎?如果問題2是,可以同時處理多少個連接,
myTcp
可以處理?使用單例方法是否有機會在調用和響應之間產生同步問題?
謝謝你的迴應。我正在編寫WCF服務,它必須接受來自多個客戶端的請求,服務與收到的數據一起工作,然後必須調用第三方應用程序,獲得響應並將其發回給客戶端。客戶端WCF服務| WCF第三方應用程序|第三方應用程序WCF | WCFback客戶端。 WCF爲來自客戶端的每個請求創建一個新的TcpClient,在收到響應關閉TcpClient後,打開與第三方應用程序的連接。至於我的理解開放連接/關閉連接是耗時的,所以我想我如何打開連接並重用它的所有客戶端requiests。 – Michurin
根據所使用的通道類型,如果您有客戶端代理(源自ClientBase)的實例,則可以在通道上調用打開以建立連接,關閉以關閉它。但同樣的警告適用。雖然你可以跨線程使用它,但你必須非常小心,不要同時這樣做。 –
Josh
對不起喬希,但我擔心你失去了我。據我瞭解,你說它不安全共享TcpClient用於調用客戶端調用WCF服務之間的第三方應用程序。我可以共享networkStream,還是不保存,以便同時爲WSF服務的兩個不同客戶端調用stream.write?謝謝! – Michurin