Linux 网络编程
文章平均质量分 74
xixihaha331
这个作者很懒,什么都没留下…
展开
-
Linux进程间通信_IPC机制的深入理解2
内核中每个IPC结构都有一个非负整数的标识符。但是多个进程利用IPC机制进行进程间的通信都是通过找到相同的IPC对象的键值就可以达到多个进程之间通过对同一个信号量, 消息队列,共享内存中的数据进行操作,这样多个进程就能够进行通信了。那么标识符和键(key)的作用 标识符:用来标识每个IPC结构。例如一台主机上现在有3个消息队列,则为了区分每个消息队列就用标识符对其进行标记。(这里的标原创 2016-05-17 17:31:09 · 470 阅读 · 0 评论 -
Linux进程间通信_IPC机制
刚开始接触IPC机制时,感觉这个知识点真的时晦涩难懂,因此自己将自己对IPC机制的理解做下总结。Linux中的IPC机制:信号量, 共享内存, 消息队列。注意这里的IPC机制的通信只能在一台主机上的多个进程线程之间进行通信,而跨主机之间的通信用socket, poll, epoll机制。一:信号量 计数信号量,其值在0和某个限制值之间,该值最大为32767, 这里信号量的原创 2016-05-16 18:03:23 · 1680 阅读 · 0 评论 -
Linux线程间同步机制_条件变量
有时看网上的博客自己会纳闷,进程间的同步机制和线程间的同步机制分别是什么? 其实进程之间是不用同步机制的,因为进程之间资源不共享,不需要同步机制来对所谓的临界资源进行保护,所以通常我们只讨论进程间的通信机制,有时候进程间的通信也称为进程间的同步,有管道,有名管道,信号量,消息队列,共享内存,socket, poll, epoll等,其实还有文件I/O,只是效率太慢不被采用,但是也能够实现原创 2016-05-23 16:34:05 · 2047 阅读 · 0 评论 -
原始套接字
最近自己在学习套接字,感觉原始套接字这块内容比较难以理解,但这部分的内容却十分有意思,所以自己对自己的学习到的知识点进行总结。 在学习int socket(int domain, int type, int protocol)时发现在函数的第二个参数位置type类型有3种。SOCK_STREAM 字节流套接字 SOCK_DGRAM 数据报套接字SOC原创 2016-06-06 16:35:19 · 1855 阅读 · 0 评论 -
IP首部校验和的算法
IP/ICMP/IGMP/TCP/UDP/等协议的校验和算法是相同的,采用的都是将数据流视为16位整数流进行重复的叠加计算。 计算校验和的步骤:(1)把校验和字段置为0。(2)对IP头部的每16bit进行二进制求和。(3)如果和的高16位不位0,则将和的高16位和低16位反复的相加,直到和的16位为0,从而获得一个16位的值。(4)将该16位的值取反,存入校验和字段。原创 2016-06-06 16:53:38 · 1177 阅读 · 0 评论 -
I/O复用_select_学习
最近在学习网络编程,觉得select这块的知识点确实比较难以理解,在学习socket网络通信机制时,只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序,(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞方式工作的程序,所谓非阻塞方原创 2016-06-12 15:51:08 · 368 阅读 · 0 评论