网络编程内容

本文介绍了网络编程的主要问题,包括主机定位与通信,详细讲解了IP地址、端口号和网络通信协议的概念。重点讨论了TCP/IP协议簇,对比了TCP与UDP的特点,并通过实例展示了TCP和UDP的客户端与服务端实现。此外,还涉及了文件上传、URL下载等实际操作,以及多线程在聊天应用中的应用。
摘要由CSDN通过智能技术生成

目录标题

网络编程

在这里插入图片描述

计算机网络

在这里插入图片描述

网络编程的目的

在这里插入图片描述

网络编程的要素

如何实现网络的通信

规则:网络通信的协议

在这里插入图片描述

TCP/IP参考模型

在这里插入图片描述

总结

一 网络编程中两个主要的问题
1 如何准确的定位到网络上的一台或者多台主机
域名:www.baidu.com
IP 14.215.177.38(百度的IP)
2 找到主机之后如何进行通信




二 网络编程中的要素
1 IP和端口号(Java中IP类和端口类)
2 网络通信协议(Java中Udp类 tcp类)





IP

ip地址:代码 InetAddress




一 作用 唯一定位一台网络上的计算机(相当于人的身份证)
二 127.0.0.1:本机localhost




IP地址的分类



一 IP地址的分类(IPv4/IPv6)
IPv4是:127.0.0.1 四个字节组成 0-255 42亿 ;三十亿在北美 亚洲四亿 2011年就用尽;
IPv6:fe80::15f5:cab4:207d:1e00%9 128位的 八个无符号整数组成




公网(互联网)-私网(局域网)



ABCD类地址

在这里插入图片描述

域名 :记忆IP问题



IP:www.vip.com www.baidu.com

在这里插入图片描述



练习测试IP(类 InetAddress)

在这里插入图片描述

端口

在这里插入图片描述

练习InetSocketAddress类

在这里插入图片描述

通信协议



例子:协议 就好比我们现在说的普通话 都必须要说普通话 否则无法交流
而网络通信协议会比较多一点
例:速率 传输速率 代码结构 传输控制
问题 非常的复杂
所以要大事化小




TCP/IP协议簇:实际上是一组协议



重要:
1 TCP 用户传输协议
2 UDP:用户数据报协议
出名的协议:
4 TCP 用户传输协议
5 IP:网络互连协议

在这里插入图片描述

TCP UDP 对比

TCP:打电话
1.连接 稳定
2.三次握手 四次挥手



UDP: 发短信
1 不连接 不稳定
2.客户端 服务端 没有明确的界限



在这里插入图片描述

TCP

客户端
1 连接服务器Socket
2 发送消息
服务器
1.建立服务的端口 ServerSocket
2. 等待用户的连接 accept
3. 接受用户的消息(客户端)


练习

在这里插入图片描述

客户端和服务端

在这里插入图片描述

管道流解释

在这里插入图片描述

什么是文件上传


复制一个图片到 这个包下面
然后在进行 文件上传

练习


客户端和服务端


运行代码 先启动服务端
在启动客户端


在这里插入图片描述

什么是Tomcat


在上面的操作中
我们已经创建出
自定义的 客户端和 自定义的 服务端


但是这里有
Tomcat服务器 S
客户端 浏览器 B
Java后台开发 用的是 Tomcat服务器 S
重点 : 同一个协议下 端口号不能重复


例如:
http://locallhost:8080/
http为协议
local为IP
8080为端口


在这里插入图片描述

什么是UDP


TCP类似于打电话 需要连接
而 UDP类似于发短信
发短信: 不用连接 但是需要知道对方的地址


发送消息
客户端
因为不需要连接 所以不用建立服务端也不会报错
所以只发送出去了消息 没有消息接受的代码
所以相对于 TCP 如果直接运行 客户端 会直接报错
而 UDP不会


练习


接受消息
服务端

在这里插入图片描述

UDP聊天实现

如果想实现多人一起聊天 就需要利用多线程

练习一

发送者和接收者

在这里插入图片描述

练习二(重点!!!)

在线咨询 :两个人都可以是发送方 也可以是接收方
先利用多线程创建类


重点!!!
实现 多线程的 学生类 和老师类


在这里插入图片描述

方法二

可以利用cmd 进行与IDE 进行交流交互
1 找到 代码.class的文件夹下 打开cmd
2 在cmd中找到代码运行
3 然后在IDE中 启动老师类 在cmd中启动学生类



out文件下存放的是 .class代码
可以搜索:如何开启window端口


在这里插入图片描述

URL:下载网络资源

URL就是一个网络类 它代表的是一个地址

在这里插入图片描述

在这里插入图片描述

练习一

下载一个文本
1 打开tomcat
2 在本地电脑 tomcat 的 webapps文件夹下
3 在webapps文件夹下 创建一个自己的文件下 并创建一个文本 文本内容随意(利用NOtepadd++ 进行编辑文本内容)
4 编写代码 运行代码后 发现文件下载下来 证明代码成功

在这里插入图片描述

练习二

比如下载网络歌曲
网易云上面的
前提 这个不用保证tomcat 打开
跟上面的不同

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值