![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 81
linux子专栏
车小猿
这个作者很懒,什么都没留下…
展开
-
linux socket UDP广播
概述:网络上的广播指:由一台主机向该主机所在子网内(同一个局域网)的所有主机发送数据的方式实现广播,离不开广播地址,同一个子网(局域网)的所有主机网卡都会接收所在网段广播地址的数据包。广播地址应用于局域网内的所有主机。广播地址(Broadcast Address)==专门用于同时向网络中(通常指同一子网)所有工作站进行发送的一个地址1. 网络通信基础如果网络中两个主机上的应用程序要相互通信,其一要知道彼此的IP,其二要知道程序可监听的端口。因为同一主机上的程序使用网络是通过端口号来区分的。2.原创 2021-08-16 16:16:16 · 2704 阅读 · 0 评论 -
socket之UDP组播(多播)
1. 概述1.1 单播用于两个主机间单对单的通信1.2广播用于一个主机对整个局域网上所有主机上的数据通信1.3单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网的主机进行通信1.4实际情况下,经常需要对一组特定的主机进行通信,而不是所有局域网上的主机,这时候就有了组播1.5IP组播(也称多址广播或多播),是一种允许一台或多台主机发送数据包到多台主机的TCP/IP网路技术。1.6多播是 IPv6 数据包的 3 种基本目的地址类型之一,多播是一点对多点的通信, IPv6 没有采用 IPv原创 2021-08-13 17:57:02 · 18034 阅读 · 4 评论 -
socket之UDP通讯
该文章简单的讲解linux中socket UDP通讯UDP(user datagram protocol)的中文叫用户数据报协议,属于传输层。UDP是面向非连接的协议,它不与对方建立连接,而是直接把我要发的数据报发给对方。所以UDP适用于一次传输数据量很少、对可靠性要求不高的或对实时性要求高的应用场景。正因为UDP无需建立类如三次握手的连接,而使得通信效率很高。1.UDP通讯模型服务端:socket(创建套接字)–>bind(绑定套接字)–>recvfrom/sendto(对客服端进行读写原创 2021-06-09 11:45:41 · 12506 阅读 · 5 评论 -
socket编程之结构体解析
本文章主要讲解linux网络编程socket通讯中常用到的结构体组成和作用下图为各个结构间的对应关系(图来源于“爱编程的大丙”)1.结构体sockaddr:/**************************************sa_family : 地址协族议,常用值:AF_INET(网络通讯) / AF_UNIX(linux 本地通讯)**sa_data : 该数组存储网络端口port,IP地址(网络字节序),多出内存保留*******************************原创 2021-06-03 15:49:46 · 1869 阅读 · 0 评论 -
socket编程之字节序
在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编 / 译码从而导致通信失败。字节序,顾名思义字节的顺序,就是大于一个字节类型的数据在内存中的存放顺序,也就是说对于单字符来说是没有字节序问题的,字符串是单字符的集合,因此字符串也没有字节序问题。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:大端字节序 和 小端字节序原创 2021-06-02 20:14:25 · 360 阅读 · 0 评论 -
socket之epoll
一、select的缺陷1、高并发的核心解决方案是1个线程处理所有连接的“等待消息准备好”,这一点上epoll和select是无争议的。但select预估错误了一件事,当数十万并发连接存在时,可能每一毫秒只有数百个活跃的连接,同时其余数十万连接在这一毫秒是非活跃的。select的使用方法是这样的:返回的活跃连接 ==select(全部待监控的连接)。2、什么时候会调用select方法呢?在你认为...原创 2019-06-04 16:26:21 · 487 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
转: https://blog.csdn.net/ljsant/article/details/52441397select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeva...转载 2019-06-01 15:29:44 · 253 阅读 · 0 评论 -
socket之TCP通信
1、TCP编程模型:服务器端:socket(创建套接字)–>bind(绑定套接字)–>listen(设计套接字监听数量)–>accept(等待客服端访问)–>read/write(对客服端进行读写操作)–>close(关闭套接字)客服端: socket(创建套接字)—>connect(连接服务器)–>-->read/write(对服务器进行读...原创 2019-05-31 14:50:35 · 1003 阅读 · 0 评论 -
linux下socket编程常用头文件
转 https://blog.csdn.net/u014647517/article/details/38777413sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/...转载 2019-05-29 09:30:25 · 1772 阅读 · 0 评论