RPC协议

Java网络通信

Java中提供了一套网络API用于网络通信,可以使用这套API进行分布式网络通信。其中就包含UDP与TCP以及组播Multicast的实现:

# 这些类都是对传输层,即TCP和UDP协议的封装

UDP:
    DatagramSocket
    DatagramChannel
TCP
    Socket/ServerSocket
    SocketChannel
Multicast
    MulticastSocket

注:组播

  1. 单播,点对点通信

  2. 广播,一对多通信

  3. 组播,介于单播和广播之间,针对组进行通信

除此之外,也可以基于开源框架进行分布式通信,比如Mina、Netty等,你可以理解他们是对socket的封装和增强。

Socket/ServerSocket

必须拥有以下几个条件才能保证两台服务器之间可以通信,所以在任何网络API中,这些条件都是必须指定的参数或者属性:

  • IP地址

  • 端口

  • 通信协议

示例代码

Multicast

Java组播示例:

最后更新于

这有帮助吗?