OSI七层模型
应用层 |
负责处理不同应用程序之间的通信,需要满足提供协议,确保数据发送方和接收方的正确 应用层提供的协议: HTTP:超文本传输协议,由于Web浏览器于Web服务器之间的通信 FTP:文本传输协议,用于文件的上传和下载 SMTP:简单邮件传输协议,用于从邮件服务器上接收电子邮件 IMAP:Internet邮件访问协议,由于邮件服务器上接收和管理电子邮件 等等。 |
表示层 |
负责网络中通信的数据的编码和格式,确保通信过程中数据的正确,数据加密或者解密,确保数据的安全性等等 编码格式转换 音视频格式的转换 数据的加密和解密 图像格式的转换 等等。 |
会话层 |
负责于其他计算机中的应用程序建立、维护或者终止会话 |
传输层 |
负责计算机与计算机之间的数据传输,保证了数据手法的过程 TCP协议:传输控制协议 UDP:数据报协议 |
网络层 |
称之为网络协议层——“IP协议”,负责不同网络中应用程序之间的通信,保证数据的发送方能准确的发送到接收方 |
数据链路层 |
负责的是将网络中的数据转换成物理层能识别的信号,还负责设备节点直接之间的数据的传输 主要功能:物理寻址,错误重发 |
物理层 |
负责底层最原始的数据传输 |
TCP/IP四层模型
应用层 |
将表示层和会话层一起划分到应用层。将三层的功能整合在一起。应用程序通过端口号标识 |
传输层 |
与ISO模型基本一致 |
网络层 |
与ISO模型基本一致 |
数据链路层 |
将数据链路层和物理层归属到数据链路层或者网络接口层,使用MAC地址来唯一表示计算机的物理地址,还定义了一系列的网络接口 |
C语言区分大端存储和小端存储
#include
typedef short int_16;
typedef enum Mode{
Small = 0,
BIG =1
}Mode;
Mode SmallOrBig(){
Mode mode = Small;
int_16 val = 0x0001;
if(*((&val)+1)==1){
mode = BIG;
}
return mode;
}
int main(int argc, const char *argv[])
{
if(SmallOrBig()==Small){
printf("小端n");
}
else
printf("大端n");
return 0;
}
小端存储:数据低位存储在地址低位,数据高位存储在地址高位
大端存储:数据低位存储在地址高位,数据高位存储在地址低位
sizeof()与strlen的区别
- sizeof() 是获取数据类型或者变量的存储空间的大小
strlen()是获取字符串的长度,作用比较单一。 - sizeof()是会将 服务器托管网计算在内的,
strlen()是不会计算位的 - sizeof()是运算符
strlen()是函数 - sizeof()是在程序开始就计算好的
strlen()是在程序运行到才返回结果
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
文章目录 自定义action 1. 定义action文件 2. 修改 package.xml 3. 修改 CMakeLists.txt 4. 运行 `catkin build` 5. simple_action_server.py 6. simple_acti…