网络通信学习笔记(一)---初步了解

简介: 网络通信学习笔记(一)---初步了解

1.1概述


其实非常好理解网络编程这个概念,因为如今的我们每时每刻都在运用它. 微信 肯定现在基本上已经成为每个人的必需品了,再来一个的话那就是 钉钉 了,这玩意儿现在也基本上是大家工作期间也会用到的东西了.这是现在的主要模式,在这之前人们可能更多的就是通过电话或者是邮件的形式.在前面就是信件的形式了.


20200910104228860.png


1.2目的


既然上面说到了电话,邮件,那么我们其实也能够分析出目的是啥.无外乎就是下面几个:


通信( 半双工—>全双工 )


传输数据( 单向 )


交换数据( 双向 )…


1.3如何实现


如何确定对方的位置


这一点我们可以类比成信件,邮件…在信件中我们通过对方的 家庭住址 我们就能够确定对方的位置,邮件我们只需要通过对方的 邮箱账号 即可确定.


那么我们在网路中我们又应该通过何种方式来确定对方的位置呢?


每台计算机都是有一个自己的ip地址的,这里我们可以通过在cmd中输入ipconfig来查看,


20200910104251396.png


但是如果你如果没有固定ip地址的话,那么这个IP地址其实你每次 关机重启 之后是会发生改变的.


但是这里的重点就是告诉大家确定计算机位置的第一步就是 ip地址


第二步就是需要告诉对方 端口号,这里其实举几个例子,大家应该就能理解了,mysql的默认端口是3306,Tomcat的默认端口是8080…


第三步就是要告诉对方你 需要什么资源


提供上述三个资源即可确定对方的位置.


通信的方式


这个其实也比较好理解,举个例子大家就知道了.


为什么我们能够与身边的人正常交流,主要是因为我们能听懂普通话,那如果现在我们身边有一个俄罗斯的朋友,除非我们会俄语,否则我们就不能够和他正常的交流吧,所以我们必需要确定我们的通信方式 ,


不然我发过去的是中文,但是你却是用俄文的方式来读,那么显然我们的通信是无法进行下去的.


这里我们再稍微聊一下TCP协议与UDP协议


TCP协议就类似于我们打电话(需要连接,稳定):


20200910104307893.png


UDP协议就类似于我们发短信(不需要连接,不稳定):


20200910104328218.png

相关文章
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
335 0
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
331 0
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
4472 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
451 5
|
机器学习/深度学习 计算机视觉 文件存储
【轻量化网络系列(3)】MobileNetV3论文超详细解读(翻译 +学习笔记+代码实现)
【轻量化网络系列(3)】MobileNetV3论文超详细解读(翻译 +学习笔记+代码实现)
6219 0
【轻量化网络系列(3)】MobileNetV3论文超详细解读(翻译 +学习笔记+代码实现)
|
机器学习/深度学习 编解码 计算机视觉
【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)
【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)
2941 0
【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)
|
机器学习/深度学习 数据可视化 Linux
Seaborn可视化学习笔记(一):可视化神经网络权重分布情况
这篇文章是关于如何使用Seaborn库来可视化神经网络权重分布的教程,包括函数信息、测试代码和实际应用示例。
317 0
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
697 2
|
监控 Java 数据库连接
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
147 3
|
域名解析 缓存 网络协议
【计算机网络基础篇】学习笔记系列之二《游览器输入URL后发生了什么?》
【计算机网络基础篇】学习笔记系列之二《游览器输入URL后发生了什么?》
255 3
下一篇
oss云网关配置