Linux 网络编程 和 字节序的概念

网络编程概述

不同于之前学习的所有通讯方法,多基于Linux内核实现,只能在同一个系统中不同进程或线程间通讯,Linux的网络编程可以实现真正的多机通讯!

两个不相关的终端要实现通讯,必须依赖网络,通过地址来找到对方,所谓地址包含的两个重要概念就是 IP地址端口号

一台拥有IP地址的主机可以提供许多服务,比如Web服务,FTP服务,SMTP服务等,这些服务完全可以通过一个IP地址来实现,所以还需要一个端口号来确定访问通道

服务器一般是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号是21,每个Telnet服务器的TCP端口号是23 等等...

当通过地址找到彼此之后,数据的交流格式就叫协议。协议有很多种,比如http, tcp, udp等等,他们都有各自的数据格式。

其实之前学习的单片机和PC机的通讯就是基于串口协议,也就是8位数据位,是否奇偶校验位等等...

  • TCP协议:面向连接的,发送数据前需要保证连接,可靠但数据量小,只能1对1通讯
  • UDP协议:面向报文的,不关心对方是否准确收到,不可靠但数据量大,支持N对M的交互通讯

而不管是TCP协议还是UDP协议,都可以结合socket网络编程来学习。

字节序

字节序(Byte Order)是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。

概念回顾:1个字节 = 1个Byte = 8个bit = 8位

常见序:

  • Little endian:小端字节序:将低续字节存储在起始地址
  • Big endian:大端字节序:将高序字节存储在起始地址

注意!!

网络字节序 = 大端字节序

x86系统的CPU = 小端字节序

所以网络字节序和电脑的字节序是相反的!

这是在网络编程中需要注意的很重要的一点!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/89142.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Element table根据字段合并表格(可多字段合并),附带拖拽列动态合并

效果如图,姓名 数值1 字段进行自动合并 封装合并列js - tableMerge.js // 获取列合并的行数 // params // tableData: 表格数据 // mergeId: 合并的列的字段名 export const tagRowSpan (tableData, mergeId) >{const tagArr [];let pos 0;tableData.map((i…

网络安全入口设计模式

网络安全入口涵盖了几种设计模式,包括全局路由模式、全局卸载模式和健康终端监控模式。网络安全入口侧重于:全局路由、低延迟故障切换和在边缘处减轻攻击。 上图包含了3个需求。 •网络安全入口模式封装了全局路由模式。因此,实现可以将请求路…

openCV实战-系列教程5:边缘检测(Canny边缘检测/高斯滤波器/Sobel算子/非极大值抑制/线性插值法/梯度方向/双阈值检测 )、原理解析、源码解读

打印一个图片可以做出一个函数: def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows() 1、Canny边缘检测流程 Canny是一个科学家在1986年写了一篇论文,所以用自己的名字来命名这个检测算法,Canny边缘检测算法…

【数据库】使用ShardingSphere+Mybatis-Plus实现读写分离

书接上回:数据库调优方案中数据库主从复制,如何实现读写分离 ShardingSphere 实现读写分离的方式是通过配置数据源的方式,使得应用程序可以在执行读操作和写操作时分别访问不同的数据库实例。这样可以将读取操作分发到多个从库(从…

【⑭MySQL | 数据类型(二)】字符串 | 二进制类型

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串 | 二进制类型类型的分享✨ 目录 前言5 字符串类型6 二进制类型总结 5 字符串类型 字符串类型用来存储字符串数据,还可以存储图片和声音的二进制数据。字符串可以区分或者不区分大小写的串比…

【数据仓库】Linux、CentOS源码安装Superset

Linux、CentOS源码安装Superset步骤,遇到的各种问题。 报错问题: Linux下pip版本问题 You are using pip version 8.1.2, however version 22.2.2 is available. 解决办法: 安装python3的pip yum install python3-pip再升级 pip3 install…

Qt跨平台无边框窗口探索记录

一、前言 实现的效果为:通过黑色矩形框预操作,鼠标释放时更新窗口。效果图如下: 1.功能 1.1 已实现功能 8个方向的缩放标题栏拖动标题栏双击最大化/正常窗口窗口最小尺寸预操作框颜色与背景色互补多屏幕默认标题栏 1.2 待开发功能 拖动到…

Python自带单元测试框架UnitTest,如何生成独立的测试报告?

前言 当我们在公司跑UI自动化的时候,一般都会选择晚上或者工作日休息时进行运行。那么当程序这时运行,如果自动化出现错误,我们又不知道当时页面是什么原因导致测试用例失败,怎么办? 这个时候我们就想到在其测试用例…

搭建CFimagehost私人图床,实现公网远程访问的详细指南

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

java八股文面试[数据结构]——ConcurrentHashMap原理

HashMap不是线程安全: 在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析),导致get操作时,cpu空转,所以,在并发环境中使用HashMap是…

Go 1.21中值得关注的几个变化

美国时间2023年8月8日,Go团队在Go官博上正式发布了1.21版本[2]! 早在今年4月末,我就撰写了文章《Go 1.21新特性前瞻[3]》,对Go 1.21可能引入的新特性、新优化和新标准库包做了粗略梳理。 在6月初举办的GopherChina 2023大会上[4]&…

[Docker] Windows 下基于WSL2 安装

Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。 1. 开启虚拟化 进入系统BIOS(AMD 为 SVM;Intel 为 Intel-vt)改为启用(enable) 2. 开启WSL 系统设置->应用->程序和功能->…

微信小程序,封装身高体重选择器组件

wxml代码&#xff1a; // 微信小程序的插值语法不支持直接使用Math <wxs src"./ruler.wxs" module"math"></wxs> <view class"ruler-container"><scroll-view scroll-left"{{scrollLeft}}" enhanced"{{tru…

中国芯,寻找新赛道迫在眉睫

北京华兴万邦管理咨询有限公司 商瑞 陈皓 近期国内半导体行业的热点可以用两个“有点多”来描述&#xff0c;一个是中国芯群体中上市公司股价闪崩的有点多&#xff0c;另一个是行业和企业的活动有点多。前者说明了许多国内芯片设计企业&#xff08;fabless商业模式&#xff09;…

pandas 将单元格是列表的DataFrame拆成多列

方法&#xff1a; pd.DataFrame(df[col].values.tolist()) 将单元格元素是列表的列拆成多列 如果要与原来的其他列合并 pd.concat([pd.DataFrame(df[col].values.tolist()), df[其他列]], axis1) 示例&#xff1a; points数组如下&#xff1a; 生成DataFrame如下 处理结…

【面试】线上 CPU 100% 问题排查

回答套路一般为&#xff1a;线上服务器没有排查过&#xff0c;线上服务器只有运维才有操作权限。在平时开发的时候&#xff0c;在测试服务器上排查过。 一、复现代码 public class Test {public static void main( String[] args ){int a 0;while (a < 100) {a * 10;}} }…

SpingMVC拦截器-异常处理的思路,用户体验不好的地方

1、异常处理机制 1.1 原先我们的异常都是手动的try..catch() 2、他存在着一些缺陷&#xff1a;这里创建了一个Demo的controller,内部有一个show方法&#xff1a; 3、访问内部&#xff0c;我要实现demoshow方法&#xff0c;我们来调用show1和show2的方法&#xff1a; 4、有一…

SCCB与IIC的异同及FPGA实现的注意事项

文章目录 前言一、信号线二、SCCB数据传输格式三、SCCB写&#xff08;与IIC完全一致&#xff09;四、SCCB读五、SCCB和IIC的区别 前言 IIC接口有比较广泛的应用&#xff0c;而SCCB&#xff08;Serial Camera Control Bus&#xff0c;串行摄像头控制总线&#xff09;是由OV&…

uniapp踩坑合集

1、onPullDownRefresh下拉刷新不生效 pages.json对应的style中enablePullDownRefresh设置为true&#xff0c;开启下拉刷新 {"path" : "pages/list/list","style" :{"navigationBarTitleText": "页面标题名称","enable…

mysql 、sql server 临时表、表变量、

sql server 临时表 、表变量 mysql 临时表 创建临时表 create temporary table 表名 select 字段 [&#xff0c;字段2…&#xff0c;字段n] from 表