我们今天来学习一个运用Java实现网络通信的小例子。
要学习网络通信编程,我们首先得清楚网络编程四要素:
1、IP地址: 每一台连接到互联网的主机都会有一个分配的Internet的地址,这个地址被称为IP地址。IP地址用来唯一的确定互联网中某台主机,我们可以通过IP地址来找到某一台主机的位置,然后与之通信。
特殊的IP地址:127.0.01:这个是本机IP地址。
在Java中,我们有一个InetAddress类来表示互联网中的IP地址,我们可以通过它的方法获取到IP地址的相关信息,如主机名称和IP。如图:
2、端口号:这里主要指逻辑端口,逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535。用来区分不同的网络服务。
端口号:0-1023 用于一些知名的网络服务和应用,为了避免端口号与别的应用或系统服务使用的端口冲突,我们要使用1024以上的端口。这里不详细讲解哦!具体可以自己百度。
3、通信协议:通信的方式。主要有以下两种:
UDP协议,用户数据报协议:
(1)UDP是一个非连接的协议
(2)数据不安全,容易丢包。
TCP协议,传输控制协议:
(1)需要建立连接
(2)效率相对比较低,数据传输安全
(3)连接需要三次握手(详情见百度)
4、套接字(Socket),由IP地址与端口号连接而成,如:127.0.0.1:8080,用来定位某台主机上的某个进程提供的网络服务。
下面我们来使用TCP协议来实现一个简单的网络通信:
创建一个客户端:
创建一个服务器:
注意:在启动程序时,应先启动服务器,再启动客户端,否则会报错。
篇幅有限,这里只是展示了一个Java通信的小例子,还想了解更多的小伙伴,请在下方留言哦!