2012-03-16 84 views
0

我想使用TcpClient簡化連接,但是一旦連接,我想將Socket的職責交給通用數據處理類(它不關心它是UDP/TCP)。代碼是否正確承擔由TcpClient創建的套接字的責任?假定從TcpClient承擔責任

 

    TcpClient client; 
    Socket s; 

    client.Connect(...); 

    // take the socket 
    s = client.Client; 
    client.Client = null; 

回答

1

你爲什麼不首先使用Socket.Connect

IIRC TcpClient認爲自己是所有者,完成後將處理套接字。

+0

1.我想用TcpClient創建連接,因爲我很懶。 2.所以分配TcpClient.Client = null將不起作用? – Charlie 2012-03-16 14:36:34

+1

我懶得回答;) – jgauffin 2012-03-16 14:46:29

+0

+1爲你的機智 – Charlie 2012-03-16 14:59:46