“Http是web的基石,Socket是网络通信的基石”
昨天回顾了下socket,在此对Socket进行简单的总结
【1】IP地址:唯一标识。 【2】协议:统一语言。 【3】端口号:区别不同程序通信。
IP地址:表示唯一主机。 IPV4,A,B,C,D类,, 64位,组成,,(目前提出IPV6还未普遍使用)
【物理层】:网线,双绞线,网卡 【数据链路层】:ARP,RARP 【网络层】: IP,ICMP,IGMP 【传输层】:TCP ,UDP,UGP 【应用层】:Telnet(23),FTP(21),SMTP,Http(80).
【端口号】:用于区分不同应用程序 范围,0-65535,其中0-1023系统保留
IP地址和端口号组成了Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础
【1】InetAddress:用于标识网络上的硬件资源。 【2】URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据 【3】Sockets:使用TCP协议实现的网络通信的Socket相关的类
【4】Datagram:使用UDP协议,将数据保存在数据报中,通过网络协议进行通信
Tcp协议是面向连接,可靠的,有序的,以字节流的方式发送数据。
基于TCP协议实现网络通信的类 客户端的Socket类 服务器端的ServerSocket类
Socket通信实现步骤 【1】创建ServerSocket和Socket 【2】打开连接到Socket的输入/输出流 【3】按照协议对Socket进行读写操作 【4】关闭输入输出流,关闭Socket
【服务器端】 1.创建ServerSocket对象,绑定监听端口 2.通过accept()方法阻塞监听客户端请求 3.连接后,通过输入流读取客户端发送的请求信息 4.通过输出流相应客户。 【客户端】 1.创建Socket对象,指定需要连接的服务器的地址和端口号 2.连接建立后,通过输入流向服务器端发送请求信息 3.通过输入流获取服务器响应的信息。 4.关闭相关资源
【服务器】 1.服务器创建ServerSocket,循环调用accept()等待客户端连接 2.客户端创建一个Socket并请求和服务和服务器端连接 3.服务器接收客户端请求,创建Socket与该客户端建立专线连接 4。建立连接的两个Socket在一个单独的线程上对话 5.服务器端继续等待新的连接。 【客户端】 1.创建Socket对象,指定需要连接的服务器的地址和端口号 2.连接建立后,通过输入流向服务器端发送请求信息 3.通过输入流获取服务器响应的信息。 4.关闭相关资源
UDP协议(用户数据报协议)是无连接,不可靠,无序的
相关操作类, DatagramPacket:表示数据报包 datagramSocet:进行端到端通信的类 【服务器】 1,创建DatagramSocket,指定端口号 2,创建DatagramPacket 3,接收客户端发送的数据信息 4,读取数据 【客户端】 1,定义发送信息 2,创建DatagramPacket,包含将要发送的信息 3,创建DatagramSocket 4,发送数据
【注意】 对于同一个socket,如果关闭了输出流,则与该输出流关联的socket也会被关闭,所以一般不用关闭流,直接关闭socket即可
【TCP通信传输对象】 将输入输出流封装成,ObjectOutStream
【TCP通信传输文件】 将输入输出流封装成BufferedOutputStream
鼠小 认证博客专家 一个萌汉子 未来的路是黑的,我不知道怎么走,我需要做的就是先走着。https://smallzheng.blog.csdn.net/