2013-07-08 47 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”(由于字节顺序),则为真。但发送**字节**与文本一样安全。 –

相关问题