2013-07-08 61 views
-6

Java中的套接字類可用於與非Java應用程序通信嗎?我知道TCP/IP是一個獨立的協議套件,但我不確定Java類。關於Java中的套接字類

+5

是的,他們可以.. –

+0

@OliCharlesworth你也可以做出答案。 – Jeffrey

+0

是的,可能的小問題是您沒有使用*類*與非Java應用程序直接通信*您正在使用套接字類來發送和接收套接字消息,這些套接字消息可以被讀取並由許多其他語言編寫。但是這些類是java特有的。如果OP不明白這是可能的,他可能不會理解類和它們實現的協議之間的區別。 – arcy

回答

2

是的。當然,他們可以:

「java.net包在Java平臺提供了一個類,插座,實現你的Java程序與網絡上的其他程序之間的雙向連接的一側「。

強調添加。請注意,它不會說「另一個Java程序」。

參考:

事實上,在Java Socket類是瘦 「包裝」 爲操作系統提供的原生Socket API的應用。所有協議實現的東西都在該API的另一端的操作系統中處理。用其他語言編寫的程序也將直接使用本地套接字API ......或者通過Java的Socket類的等效語言。


我還要糾正@ rcook的評論一對夫婦的技術失誤:

  1. 無論是在Java Socket類或本機插座API 實現 TCP/IP等協議。實際的網絡協議實現是在之後完成的本地套接字API ......甚至可能在附加的處理器中。

  2. Socket類不讀寫「消息」。它讀取和寫入可能或可能不是應用程序級別消息的字節。將字節捆綁到網絡數據包中由TCP/IP堆棧透明地處理

    (如果你想有一個類,做網絡級的消息,然後DatagramSocket是你後...模,你只能發送特定種消息

  3. 其實,這是不不正確說插座/ Socket類是/可以用來與其他程序通信。如果你忽略了細節的實現細節,「溝通」對於程序使用套接字時發生的事情來說是一個很好的術語。 「溝通」一詞在信息技術方面的含義遠遠超過「發送信息」。