网络编程:注重底层数据的传输

一、IP
1、定义节点,区分节点
2、分类
IPV4 ->4个字节->32位
IPV6 ->128位
3、127.0.0.1 ->本地IP
4、localhost ->本地域名
5、InetAddress:表示IP地址

二、端口port
1、用来区分软件
2、0~65535表示端口号 2个字节
3、统一协议下端口号不能冲突
4、常见的端口号
80 : http
8080 : tomcat
1521 : Oracle
3306 : Mysql
5、InetSocketAddress
此类实现IP套接字地址(IP地址+端口号)

三、URL:统一资源定位符
1、URL组成
协议 http
域名 www.baidu.com
端口 80
资源 index.html
数据 username=zhangsan&password=123
锚点 #a
如: http://www.baidu.com:80/index.html?username=zhangsan&password=123#a

四、Socket 套接字
1、是传输层为应用层开辟的一个小口子
不同传输层协议下Socket实现不同
网络编程成为面向Socket编程
2、传输层协议
(1)UDP
非面向连接
协议简单,开销小,效率高,不安全、
存在大小限制,一般不超过60k
DatagramPacket
数据报包
DatagramSocket
此类表示用于发送和接收数据报包的套接字
(2)UDP协议实现基础的发送端
1.定义我是发送端 DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。
2.准备数据
3.数据打包
4.发送端发送包裹 void send(DatagramPacket p) 从此套接字发送数据报包。
5.关闭
(3)UDP协议实现基础的接收端
1.定义我是接收端
2.准备包裹用来接收数据
3.接收端接收数据
4.处理数据
5.关闭
3、TCP
面向连接
安全可靠、效率低、没有大小限制

五、TCP实现流程
1、tcp协议下传输数据
客户端
服务器
基于IO
2、tcp协议实现客户端
1.构建我是客户端 Socket(String host, int port) IP+端口号指要连接的服务器的IP与端口
2.基于IO操作
1)获取输出流
2)写出
3)刷出
4)关闭
3.关闭
3、tcp协议实现服务端
1.构建我是服务端 ServerSocket(int port)
2.阻塞式监听 Socket accept() 监听对此套接字的连接并接受它
3.IO操作
1)获取输入流
2)读入数据
3)处理数据
4)关闭
4.关闭
4、tcp协议实现单向登录客户端
1.构建我是客户端
2.键盘接收用户名与密码
3.基于IO操作向服务器发送数据
1)获取输出流
2)写出
3)刷出
4)关闭
4.关闭
5、tcp协议实现双向登录客户端
1.构建我是客户端
2.键盘接收用户名与密码
3.基于IO操作向服务器发送数据
4.基于IO操作接收服务器响应的结果
5.处理结果
6.关闭

六、多用户登录服务器端
1、通过循环实现,可以实现允许多个客户端访问,可以对多个客户端响应
排序访问
2、通过多线程实现

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值