网络编程
网络编程三要素
ip地址 是网络设备在网络中的唯一标识.
端口号 端口号是程序在一台电脑上的唯一标识 它的取值范围是0-65535
传输协议: 传输协议 UDP协议 TCP协议
udp协议的特点
1udp是面向无连接的.即发送数据之前不需要建立连接,因此减少了开销和发送数据之前的延误
2 udp尽最大努力进行交付,即不保证可靠交付
3 udp支持一对一 多对一和多对多的交互通信
4开销小,传输快
tcp协议:
特点:
tcp面向连接
tcp提供可靠的服务,通过tcp连接传输的数据,无差错,不丢失,不重复,且按序到达.
每一条tcp连接只能点到点的
相对udp传输,开销大,传输慢
udp通信原理
udp是一种不可靠的协议,它在通信两端建立socket对象,但是这两个socket对象只是发送数据和接收数据的对象,因此基于udp协议没有所谓的客户端服务端的概念
DatagramSocket是udp协议的实现类
创建DatagramSocket对象
构建数据包
DatagramPacket(byte buf[], int length, InetAddress address, int port)
通过
DatagramSocket对象的send方法进行发送
最后调用close方法进行关闭
接收是调用recive()方法接收,也需要构建数据包进行接收
tcp通信原理
tcp是一种可靠的的网络协议,它在通信两端各建立了一个socket对象 从而在通信的两端形成了一个虚拟的网络链路
java基于tcp协议提供了良好的封装,使用socket类即可,并通过socket产生io来进行网络通信
java客户端 提供socket 类 服务端提供serversocket
serverSocket类调用accept()方法进行监听,如果有客户端进行连接,就创建一个socket对象.然后调用getinputStream方法进行读数据,
1