TCP和UDP的区别
TCP是有连接的,一对一的,提供可靠交付的,,全双工通信,面向字节流的
UDP是无连接的,尽最大努力交付的,面向报文的
TCP的三次握手和四次挥手
三次握手
客户端的TCP程序向服务器端发送连接请求报文,服务端接受到连接请求后,如果接受连接,就向客户端发送确认报文,并为此次连接分配资源,客户端接受到服务器端的确认报文后,再次向服务器端发送确认报文,并为此次连接分配资源
四次挥手
当客户端要关闭TCP连接请求时,向服务器端发送连接关闭请求,服务器端接受到请求后,向客户端发送确认,客户端接受到服务器端的确认后,就会关闭客户端到服务器端的TCP连接,当服务器没有要向客户端发送的数据时,就会向客户端发生连接释放请求,客户端接受到后,向服务器端发出确认,通过2MSL后客户端才进入来连接关闭请求
基于Socket的TCP编程
服务器端程序的四个步骤
调用ServerSocket(int port) 创建一个服务器套接字,并绑定到指定接口。用于监听客户端的请求
调用accept() 监听连接请求,如果客户端请求连接,则接受连接,返回套接字对象
调用该Socket()套接字的getInputStream()和getOutputStream()对象,获取输出流和输入流,开始网络数据的接受和发送
关闭ServerSocket对象和Socket对象:客户端访问接受,关闭通信套接字
UDP编程
流程
1 DatagramSocket与DatagramPacket
2 建立发送端,接受端
3 建立数据包
4 调用Socket的发送,接受方法
5 关闭Socket
发送端与接受端是两个独立的运行程序