②常见的端口:
80 : http
8080 : tomcat
1521 : Oracle
3306 : Mysql
③InetSocketAddress 此类实现IP套接字地址(IP地址+端口号)它也可以是一对(主机名+端口)
(3)URL
同一资源定位符,指向万维网上的“资源”的指针。
①组成:
a.协议: http,b.域名: www.baidu.com,c.端口号: 80,d.资源: index.html,e.提交数据: name=zhangsan&pwd=123 f.锚点: #a
a.html,b.http,c.url
URL 类
(4)网络爬虫
2**、udp**
(1)套接字:传输层为应用层开辟的小口子,不同协议下Socket实现不同,UDP与TCP协议对Socket实现
①UDP : 相当于写信|有包裹|发短信 非面向连接 协议简单,开销小,效率高 不安全 大小由限制(一般不超过60k)
②TCP : 相当于打电话 面向连接 效率低 安全 大小没有限制
③基于三次握手,UDP协议下发送端与接收端两端平等DatagramSocket 此类表示用于发送和接收数据报包的套接字。
④DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。A.void receive(DatagramPacket p) 从此套接字接收数据报包。B.void send(DatagramPacket p) 从此套接字发送数据报包。
⑤DatagramPacket 该类表示数据报包。byte[] getData() 返回数据缓冲区。int getLength() 返回要发送的数据的长度或接收的数据的长度。数据的传输基于字节数组
⑥UDP实现发送端: 基本流程
a.定义我是发送端
b.准备数据
c.打包
d.发送
e.关闭
(2)①UDP实现接收端: 基本流程
a.定义我是接收端
b.准备字节数组,打包
c.接收数据
d.处理数据
e.关闭
②注意; 统一协议下端口号不能冲突
3**、tcp**
(1)客户端 Socket
①Socket(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号。
a.InputStream getInputStream()
b.OutputStream getOutputStream()
②服务器 ServerSocket 该类实现服务器套接字。
a.ServerSocket(int port) 创建绑定到指定端口的服务器套接字。
b.Socket accept() 侦听对此套接字的连接并接受它。
③tcp协议下传输数据基于IO流,tcp协议实现基本流程 : 客户端
a.定义我是客户端–>指定要请求的服务器的IP+端口
b.准备数据,c.获取输出流,d.输出–>IO操作,e.刷出,f.关闭
(2)tcp协议实现基本流程 : 服务端
①定义我是服务端
②阻塞式监听
③获取输入流–>接收客户端的请求数据
④处理数据
⑤关闭
(3)tcp 单向登录: 客户端
①定义客户端
②准备数据(用户输入)
a.输入流
b.用户名与密码
③获取输出流向服务器端发送数据(用户名与密码)
④刷出
⑤关闭
(4)tcp 单向登录: 服务端
①定义我是服务器
②阻塞式监听
③获取输入流接收客户端发动的数据
④处理数据
⑤关闭
要求: 服务器端接收到用户输入的用户名与密码,与指定的laopei,1234比较是否相等,相等本地输出登录成功,不相等输出用户名或密码错误!!!
(5)tcp 双向登录: 客户端
①定义客户端
②准备数据(用户输入)
a.输入流
b.用户名与密码
③获取输出流向服务器端发送数据(用户名与密码)
④刷出
⑤获取输入流 从服务器端读取响应