java网络编程学习(狂神老师笔记)

在这里插入图片描述

网络编程

计算机网络:

网络编程的目的:

想要达到这个效果需要什么:

  1. 如何准确定位网络上的一台主机,192.168.16.124:端口,定位到这个计算机上的某个资源
  2. 找到这个主机,如何传输数据呢

javaweb:网页编程 b/s 架构,所有东西通过浏览器去访问

网络编程:tcp/ip c/s架构,客户端

##网络通信段要素

人工智能:智能汽车:工厂,人少!?

伦理问题:火车一边是5个小孩,一边是一个小孩

如何实现网络的通信

通信双方的地址

  • ip

  • 端口号

规则:网络通信段协议

tcp/ip参考模型

osi七层模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y01p2FvV-1678092948109)(D:\桌面\java全栈冲冲冲\网络编程\1.assets\image-20221204222620754.png)

这里是引用

实际应用的是tcp/ip四层概念模型

小节

  1. 网络编程中有两个主要的问题

    • 如何准确的定位到网络上的一台或者多台主机
    • 找到主机之后如何进行通信
  2. 网络编程中的要素

    • ip和端口号

    • 网络通信写协议 udp ,tcp

  3. 万物皆对象

ip

ip 地址:inetAddress

  • 唯一定位一台网络上计算机

  • 127.0.0.1 本机localhost

  • ip地址的分类

    • ipv4/ipv6

      ipv4 127.0.0.1 4个字节组成。0-255 42亿个,30亿都在北美,亚洲4亿,2011年用完

      ipv6 128位 8个无符号整数

    • 公网-私网

    • 192.168.xxx专门给组织内部使用

    • ip地址的分类

域名:记忆ip问题

端口

端口表示计算机上的一个程序的进程

  • 不同的进程有不同的端口号,用来区分软件

  • 被规定0-65535

  • tcp,udp:65535*2 单个协议下,端口号不能冲突

  • 端口分类0-1023

    • 公有端口0-1023

      • http:80

      • https: 443

      • ftp: 21

      • telent: 23

  • 程序注册端口:1024-49141 ,分配用户或者程序

    • tomcat:8080

    • mysql:3306

    • oracle:1521

  • 动态,私有:49152-65535

    netstat -ano #查看所有的端口
    netstat -ano|findstr "5900"#查看指定的端口
    tasklist|findstr "8696" #查看指定端口的进程
     
    

通信协议

协议:约定

网络通信协议:速率,传输码率,代码结构。传输控制

问题:非常复杂

大事化小:分层

重要:

  • tcp:用户传输协议

  • udp:用户数据报协议

    出名的协议

    • tcp

    • ip网络互连协议

​ tcp udpd对比

​ tcp打电话,连接温度

​ 三次握手,四处挥手


最少需要三次,保证稳定连接
a:你瞅啥?
b:瞅你咋滴?
c:干一场!


a:我要走了
b:你要走了吗
b:那你走吧
a:走就走

​ 客户端,服务端

​ 传输完成,释放连接,效率低

​ udp发短信,不连接

​ 不连接,不稳定

​ 客户端,服务端,没有明确的界限

​ 不管有没有准备好,都可以发给你

​ ddos:洪水攻击!一直发垃圾信息,虽然它不接受,但 是会占用你端口(饱和攻击)

tcp

客户端

  1. 连接服务器socket

  2. 发送消息

服务器

  1. 建立服务的端口serverSocket

  2. 等待用户的连接accept

  3. 接收用的消息

udp

发短信:不用连接,需要知道对方的地址

URL

统一资源定位符:定位资源的,定位互联网上的某一个资源

dns域名解析

协议://ip地址:端口/项目名/z

p

客户端

  1. 连接服务器socket

  2. 发送消息

服务器

  1. 建立服务的端口serverSocket

  2. 等待用户的连接accept

  3. 接收用的消息

udp

发短信:不用连接,需要知道对方的地址

URL

统一资源定位符:定位资源的,定位互联网上的某一个资源

dns域名解析

协议://ip地址:端口/项目名/z
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值