桂林网站开发公司电话,口碑好的丹徒网站建设,海米云网站建设,网站维护公司广州进程间的通信#xff1a; 管道、消息队列、共享内存、信号、信号量。 特点#xff1a;都依赖于linux内核。 缺陷#xff1a;无法多机通信。 一、网络编程#xff1a;
1、地址#xff1a;基于网络#xff0c;ip地址端口号。
端口号作用#xff1a; 一台拥有ip地址的主机…进程间的通信 管道、消息队列、共享内存、信号、信号量。 特点都依赖于linux内核。 缺陷无法多机通信。 一、网络编程
1、地址基于网络ip地址端口号。
端口号作用 一台拥有ip地址的主机可以提供许多服务如web服务、FTP服务、SMTP服务等。 这些服务完全通过1个ip地址来实现。主机区分不同的网络服务通过“ip地址端口号”来区分的。 端口提供了一种访问通道。 服务器一般都是通过知名端口号来识别的。 例如对于每个TCP/IP实现来说 FTP服务器的TCP端口号都是21 每个Telnet服务器的tcp端口号都是23 每个TFTP简单文件传送协议服务器的UDP端口号都是69. 2、数据协议 ( HTTP、TCP、UDP ) (数据格式非常成熟操作系统已经搞好) TCP面向连接a拨号给b讲电话。连接可靠传送的信息量准确。
UDP面向报文a与b连接发短信形式。连接不可靠数据量大有各自的应用场景。
TCP/UDP对比 1、TCP面向连接如打电话要先拨号建立连接UDP是无连接的即发送数据之前不需要建立连接。 2、TCP提供可靠的服务。通过TCP连接传送的数据无差错不丢失不重复按序到达。UDP尽最大努力交付即不保证可靠交付。 3、TCP面向字节流实际上是TCP把数据看成一连串无结构的字节流UDP是面向报文的UDP没有拥塞控制因此网络出现拥塞不会使主机的发送速率降低对实时应用很有用如ip电话实时视频会议等 4、每一条TCP连接只能是点到点的UDP支持一对一、一对多、多对一、多对多的交互通信。 5、TCP首部开销20字节UDP首部开销小8字节。 6、TCP的逻辑通信信道是全双工的可靠信道UDP则是不可靠信道。 入门网络编程 socket套接字网络编程套接字网络编程一般用到TCP协议或UDP协议。
二、字节序
概述 字节序是指多字节数据再计算机内存中存储或网络传输时各字节的存储顺序。
常见序 1、Little endian小端字节序将低序字节存储在起始地址 2、Big endian大端字节序将高序字节存储在起始地址 网络字节序相当于大端字节序 x86系列cpu都是小端字节序 通过下面的4个函数可以实现主机字节序和网络字节序之间的切换。 有时可以使用INADDR_ANY,INADDR_ANY指定地址让操作系统自己获取。 #include netinet/in.h uint16_t htons(uint16_t host16bititvalue);//返回网络字节序的值
uint32_t htonl(uint32_t host32bititvalue);//返回网络字节序的值
uint16_t ntohs(uint16_t net16bitvalue);//返回主机字节序的值
uint32_t ntohl(uint32_t net32bitvalue);//返回主机字节序的值
/*
h host
n net
s short两个字节
l long4个字节
*/例 0x十六进制 在内存中双字0x01020304(DWORD)的存储方式 内存地址 4000400140024003 LE 04 03 02 01 小端字节序低字节序放在低地址 BE 01 02 03 04 大端字节序反之 存储的数据0x01020304 01为高字节04为低字节 字节单位byet1字节 8 bit