最后更新:2022-07-30 23:36:42 手机定位技术交流文章
数据链层:通过各种控制协议,故障的物理通道被转化为无故障、无功
可靠的数据链用于传输数据帧.
MAC(物理地址)48位
网络层: 选择和传输数据包.
IP 地址有分 IPV4 (32位)和 IPV6 (128位)两种类别格式,(主机号和网络号构成)
传输层:传输层为应用程序层提供进程间通信路径(TCP/UDP/SCTP)。
OSI 7,TCP/IP 5
寄快递,ip /协议 发送的数据大小有限制。
可靠的 tcp/ip-oriented连接流式服务

#include <netinet/in.h>套接字:
通过插座接收和传输数据(相当于手机)
ip和端口填充到套接字的地址(结构体sockaddr中)
#include <bits/socket.h>
IPV4地址,但在编程中我们需要先转换它们IPV4所代表的地址和网络字符串序列整数IPV4地址之间的转换:IPV6以网络字节顺序显示地址通用接口地址结构:
sockaddr
特别的索克地址结构:
IPV4:
TCP/IP协议家族sockaddr_in:设置ip端口
IPV6:
sockaddr_in6
1,存储不到三个握手的链接。
2,保存完成三次的链接
accept()处理存放在 listen 创建的已完成三次握手的队列中的连接。每处理一个连接,则
accept() 返回连接的相应的插座字符描述符。
如果队列空, 封锁.
一般由客户端程序执行。 指定服务器端的IP地址和端口。
握手三次,创建一个链接
接收和传输数据。 将数据写入缓冲器并读入缓冲器
关闭TCP链接并继续四次挥手
在写程序之前ping 127.0.0.0看看客户端是否与服务器连接。
服务器端:
struct sockaddr_in saddr,caddr;//设置主机IP地址和端口的特殊接口地址结构
memset(&saddr,0,sizeof(saddr));//将初始值置为0
saddr.sin_family = AF_INET;//设置地址组协议
saddr.sin_port = htons(6000);//端口/ 小端存放转大端存放-----主机字节序列转网络字节序列
// 当数据被发送时,它将从(长序、短序主机转换为网络)接收相反的数据。
saddr.sin_addr.s_addr = inet_addr("0.0.0.0");//设置ip地址
saddr存储服务器端的IP地址和端口。
int len = sizeof(caddr);//caddr客户端成功地连接了。caddr为客户端主机存储的IP地址和端口号码。
客户端
先启动服务器端
在启动客户端
最后发数据
本文由 在线网速测试 整理编辑,转载请注明出处。