2013-07-08 50 views
0

我有的使用PHP做了一個服務器,它是聽ipaddress1port1,那麼我在java中做了一個客戶端,它使用ipaddress1port1使用Socket s = new Socket(ipaddress1, port1);連接到服務器,該服務器和客戶端可以進行通信與對方?服務器和客戶端可以用不同的語言進行通信嗎?

+2

是的 - 他們可以,你的瀏覽器應該如何與互聯網上的每臺服務器進行通信,而不是每個人都有相同的系統運行。 – luk2302

+0

你是說如果IP和端口是正確的,他們應該互相溝通? – user2131316

回答

2

是的,他們可以。你有兩個選擇:

  1. 使用一樣,沒有圖書館在兩種語言支持它的XML或JSONprotocol buffers的格式,或
  2. 只是通過套接字發送原始字節,寫你自己的格式編碼器和解碼器中兩種語言。

從根本上講,套接字是字節數據,字節在任何語言中都是一樣的。唯一會給你帶來麻煩的是,如果你希望客戶端使用一個只有Java的格式,比如ObjectOutputStream

+0

對於選項2,我只需添加:使用基於文本(不是二進制)的協議:不同的平臺可能會以不同的方式表示二進制數。 – Curt

+0

@Curt:如果你發送二進制格式的「int」(由於字節順序),則爲真。但發送**字節**與文本一樣安全。 –

相關問題