广播和多播编程都是建立在UDP通信的基础上,通过setsockopt函数即可发送广播数据报或多播数据报。 int setsockopt(int fd,int level,int optname,const char*optval,int optlen) 参数:1、套接字描述符 2、选项定义层次,可为 ...
分类:
系统相关 时间:
2020-12-15 12:45:04
阅读次数:
5
1.获取所有网卡的信息 使用:getifaddrs //获取的网卡信息有限,其中包括网卡名,可根据网卡名调用ioctl来获取更详细的网卡信息 2.根据网卡名获取特定网卡的信息 使用:ioctl //描述符是套接字描述符,只适用于ipv4,不能用来获取网卡的ipv6相关信息 man netdevice ...
分类:
系统相关 时间:
2020-05-08 18:27:34
阅读次数:
98
{ //https://www.cnblogs.com/blankqdb/archive/2012/08/30/2663859.html 1. send解析 sockfd:指定发送端套接字描述符。 buff: 存放要发送数据的缓冲区 nbytes: 实际要改善的数据的字节数 flags: 一般设置为 ...
分类:
系统相关 时间:
2020-02-17 01:06:54
阅读次数:
73
首先了解下数据在client与server端的通信中的收发过程 考虑单向的数据流,即 即A(客户端)向B(服务端)发送数据。 在ProgramA中,定义一个数组char buf[100] = "tcp" ;那么buf就是应用程序缓冲区,即图中A对应的圆内存,send / write函数对应上面蓝色的 ...
分类:
其他好文 时间:
2020-01-28 15:43:36
阅读次数:
145
# TCP协议的初始化及socket创建TCP套接字描述符 1. TCP协议简介 1. TCP协议的初始化 从内核启动的起点 start_kernel 开始 --> rest_init --> kernel_init --> do_basic_setup --> inet_init Linux内核初 ...
分类:
其他好文 时间:
2019-12-26 21:06:46
阅读次数:
88
深入理解TCP协议及其源代码,包括TCP协议的初始化及socket创建TCP套接字描述符;connect及bind、listen、accept背后的三次握手send和recv背后数据的首发过程; close背后的连接终止过程 《一》 深入理解TCP协议 TCP协议,即传输控制协议,是一种面向连接的、 ...
分类:
其他好文 时间:
2019-12-26 21:05:31
阅读次数:
114
我们依然从start_kernel说起,它最后会执行: arch_call_rest_init() --> rest_init() --> Kernel_init() --> Kernei_init_freeable() --> do_basic_setup() --> do_initcalls() ...
分类:
其他好文 时间:
2019-12-26 19:47:13
阅读次数:
127
选择如下任一个问题,通过理论分析、源代码阅读和运行跟踪深入理解TCP协议完成一篇实验报告博客 TCP协议的初始化及socket创建TCP套接字描述符; connect及bind、listen、accept背后的三次握手 send和recv背后数据的首发过程 close背后的连接终止过程 另外您也可以 ...
分类:
其他好文 时间:
2019-12-26 19:24:21
阅读次数:
75
C/S模型就是server 与 client 的模型 TCP服务器模型流程图 TCP 客户端模型流程图: 函数使用: (1)创建一个网络通信套接字描述符 int socket(int domain, int type, int protocol); 参数:domain : 协议系列,常用的是 AF_ ...
分类:
系统相关 时间:
2019-06-05 21:34:50
阅读次数:
163
通常的UNIX close函数也用来关闭套接字,并终止TCP连接 (1)close一个TCP套接字的默认行为是把该套接字标记成已关闭,然后立即返回调用进程,该套接字描述符不能再由调用进程使用; (2)close一个TCP套接字后,TCP将尝试发送已排队等待发送到对端的任何数据; (3)如果想在某个T ...
分类:
其他好文 时间:
2019-04-08 13:26:05
阅读次数:
113