2014-04-11 35 views
0

我正在嘗試對c#中的tcp client和tcp listener進行一些微軟考試的研究。我在互聯網上發現了很多關於如何使用它們的信息,但是很少有關於爲什麼我應該使用它們。我發現它是一種在兩個應用程序之間進行通信的安全方式,但我不明白爲什麼我應該使用tcp而不是(例如)在一個應用程序中公開一個方法並從另一個應用程序調用它。我爲什麼要使用TCP Client和TCP Listener?

有沒有人知道任何可以解釋這個給我的好網頁?

+1

如果2個應用程序在不同的機器上運行,你不能只是呼籲從另一個方法。 –

+0

如果您想了解TCP爲何安全,請將其與UDP進行比較。簡而言之,TCP使用「乒乓」驗證,而UDP發送數據並且不關心它是否被接收到。 – Elfayer

+1

如果他們真的是兩個應用程序 - 運行在不同的進程中,那麼你將如何實現「在一個應用程序中公開一個方法並從另一個應用程序調用它」?可以辦到;它不一定是簡單的,乾淨的或安全的,並且實際上會在引擎蓋下使用TCP套接字。 –

回答

1

如果您打算在應用程序與系統之間溝通您可以使用任何進程間通信方法。但是如果您打算讓兩個應用程序在不同的機器上運行,而您需要的機制不在IPC之外。這是TCP和UDP進入圖像的地方。

TCP/UDP是控制兩個應用程序如何連接,交換數據並終止連接的複雜協議(規則)。 (UDP,沒有連接/終止階段,BTW)。

它很有趣。從Wiki開始。

最開始socket編程這個衆所周知的頁面(在「C」雖然) - http://beej.us/guide/bgnet/