最后更新:2022-05-07 20:58:05 手机定位技术交流文章
这是首次在网络进程之间引入网络对处理通信(网络IPC)和tweak对线通信界面。此接口被该程序用于与其他进程进行沟通。如果他们在同一或其他机器上。计算机间通信和计算机内通信都可使用同样的界面。也可用于计算机之间的通信。
socket函数
为了理解这一功能,我们必须首先理解与这一功能相连的若干想法,我们首先必须理解一些想法。
“插座”一词表达了几个概念:
网络通讯“IP地址+TCP或UDP港口号”中的少数程序之一,在TCP/IP协议“IP”中
Socket 定义为地址加上端口号。
在TCP协议中,两个连接的流程中,每个进程都有一个插座,指定指定在 TCP 协议中,两个插座组成
套接字配对是唯一指定的连接。 因为套接字意味着“ 插头 ”, 它用来定义网络连接 。
接的一对一关系。
TCP/IP协议最初在BSD UNIX上实施,为TCP/IP协议创建套接合应用层编程界面。
API。TCP 协议是Socket API最著名的功能接口。
在 UNIX 上, 套接字描述符被视为文件描述符 。
它可以与阅读、写作等相似对待。
嗨,请输入文件描述符 以便传送
耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 和华

内核的TCP/IP军营负责包装和拆卸。
2.socket API

大致过程:
服务器端
捆绑和插口和端口监听能力,等待客户连接。
客户连接服务器已经连接,握手已经三次完成,通信已经建立。见上一条。
接受创建新文件描述并返回它 。
之后处理数据。
关闭文件描述、断开和四次握手。
服务器端可能恢复接受,而不是关闭。
3.网络字节序
这才是最伟大的结局。 (可自行搜索)
网络传输用的大端序
根据TCP/IP协议,网络数据流必须遵循一个大字字节顺序,即低地址字节,类似于上一节中的UDP
地址0-1是以图表格式表示的16位位端口号,如果该端口号为100(0x3e8),地址0x03,
地址是 0xe8 表示在寄送主机的缓冲区, 0x03, 然后是 0xe8, 16应该低。
低位址为 0x03, 高位址为 0xe8。 但是, 如果发件人是一个小字节序列, 16 则被解释为 0xe803, 不是100 。因此,在发件人主机能够将100输入缓冲区之前,必须转换字节订单。同样地,如果宿主是一个字节,对于字节序列转换,也使用16位数源端口号。如果主机有很长的字节序列,发送或接收不需要转换。同理,32位IP地址还将另外考虑到网络字节和主机字节。
此外,您自己的用户数据不必处理大小和终端问题。
最后,数据由程序在小端直接解析。
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);
h 表示主机, n 表示网络工作, l 表示32个长整数, s 表示16个短整数。
如果主机是一个微小字节序列,这些操作将把参数转换为匹配大小端和返回;否则,这些函数不旋转程序,而是一个小字节序列,这些操作将这些参数转换为匹配大小端和返回端;否则,这些函数不旋转。
返回当前状态的参数 。
以字符串的形式考虑 IP 。
字符串必须转换为二进制 IP 地址, 二进制 IP 地址必须转换为 字符串必须转换为 二进制 IP 地址必须转换为 二进制 IP 地址, 二进制 IP 地址必须转换为 字符串 。
SocketAdder 数据结构

现在,我们可以描述这个功能。

参数解释
Locket 给了您一个新的文件配置文件 。
这是逃生通道 包裹到底是什么?
域( 域) 管辖通信属性, 如地址格式 :
大多数用于生产插座的规程,包括AF_INET,使用TCP或UDP进行传输和IPv4地址。
AF_INET6 与前一个地址相同, 但它是一个 IPv6 地址 。
AF_UNIX是Unix和Linux系统使用的本地协议,经常当客户和服务器在同一台和同一计算机上时使用。
type:
SOCK_STREAM 协议是一个基于字节的链接, 其顺序、 可靠且数据完整。 它是最常用的套接字类型, 并使用 TCP 传输 。
SOCK_DGRAM 是一个未连接的固定长度传输电话。 协议不可信, 因此 UDP 用来连接它 。
SOCK_SEQPACKET 是一个双线、可靠的连接, 发送固定长度数据包传输。 我们必须完成此包 。
接受才能进行读取。
SOCK_RW, 套接字型, 启用单一网络连接, 并使用IPCMP公共协议 。 (ping, traderoute 利用合同)
SOCK_RDM是大多数操作系统中很少使用和未实现的类型,可进入数据链层使用,但不能确保数据包序列。protocol:
0 默认协议返回值:
成功时返回新的文件配置文件, 无法返回 1, 并设置错误
参考:
APUE方案及其投石勒系统
本文由 在线网速测试 整理编辑,转载请注明出处。