我的理解是:
服务器通讯原理就是一台socket服务器A,另一台socket客户端B,现在如果要通讯的话直接以流方式写入或读出。这样能实现通讯,但有个问题。如何知道更多信息?比如需要发送流大小,编码,Ip等。这样就有了协议,协议就是规范,就是发送的流中携带了很多的内容。那回到刚刚的问题。
发送的内容就是文本类型,客户端就得序列化,那么常用的就有json,xml之类
如果想把内容变得更小,那就有二进制了。把文本变成二进制传递。
说到 rpc 与http接口,不要太复杂了。rpc 协议更简单内容更小,那么来说效率是要高一点
然后rpc 是什么。就是socket 加动态代理,你去想想,为什么客户端能调用你的service .
rpc通信原理就是将调用的接口类,方法的参数,发给服务端,服务端处理完之后,将结果返回给我们.
你去看看http://javatar.iteye.com/blog/1123915,希望对你有帮助