网络编程入门
网络编程三要素
IP地址
InetAddress
此类表示Internet协议IP地址
public static InetAddress getByName(String host): 确定主机名称的IP地址。
public string getHostName(): 获取此IP地址的主机名。
public string getHostAddress(): 返回文本显示中的IP地址字符串。
端口
协议
UDP通信程序
UDP通信原理
UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接受数据的对对象,因此对基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念
Java提供了DatagramSocket类作为基于UDP协议的Socket
UDP发送数据
发送数据的步骤
1.创建发送端的Socket对象(DatagramSocket)
DatagramSocket() 构造数据报套接字并将其绑定到本地主机上的任何可用端口。
2.创建数据,并把数据打包
DatagramPacket(byte[] buf, int length, InetAddress address, int port):构造用于发送长度的分组的数据报包 length指定主机上到指定的端口号。
3.调用DatagramSocket对象的方法发送数据
void send(DatagramPacket p) 从此套接字发送数据报包。
4.关闭发送端
UDP接受数据
接收数据的步骤
- 创建接收端的Socket对象(DatagramSocket)
DatagramSocket(int port)
- 创建一个数据包,用于接收数据
DatagramPacket(byte[] buf, int length)
- 调用DatagramSocket对象的方法接收数据
void receive(DatagramPacketp)
- 解析数据包,并把数据在控制台显示
byte[] getData()
int getLength()
- 关闭接收端
TCP通信程序
TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信
Java对基于TCP协议的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信
Java为客户端提供了Socket类,为服务器端提供了ServerSocket类
TCP发送数据
TCP接受数据
接受数据的步骤
1.创建服务器端的Socket对象(ServerSocket)
ServerSocket(int port) 创建绑定到指定端口的服务器套接字
2.监听客户端连接,返回一个Socket对象
Socket accept() 侦听要连接到此套接字并接受它
3.获取输入流,读数据,并把数据显示在控制台
4.释放资源