- 博客(8)
- 收藏
- 关注
原创 2013.3.26 nginx 共享内存学习
搜索ngx_shm ngxin中出现:#include #include 都是干啥使得呢?ngx_shmem.h 定义了 ngx_shm_t结构体及 共享内存的实际分配及释放typedef struct { u_char *addr; size_t size; ngx_str_t name; ngx
2013-03-26 15:48:28 869
转载 2013.3.13-6异步Socket(非阻塞模式)的应用
若Socket是同步模式(即阻塞模式):1. send(1024)需要等1024个字节发完了才会返回(或者socket被关闭了)。这使得server在和低速的client通信时被阻塞,所以高性能server要使用非阻塞方式。2. recv(1024)不会等1024个字节,但必须要有数据才行,否则会被阻塞。所以阻塞的recv通常需要判断是否有数据。将socket设为nonbloc
2013-03-23 16:23:50 499
转载 2013.3.23-5简介struct cmsghdr结构
附属信息可以包括0,1,或是更多的单独附属数据对象。在每一个对象之前都有一个structcmsghdr结构。头部之后是填充字节,然后是对象本身。最后,附属数据对象之后,下一个cmsghdr之前也许要有更多的填充字节。在这一章,我们将要关注的附属数据对象是文件描述符与证书结构。下图显示了一个包含附属数据的缓冲区是如何组织的。我们需要注意以下几点:cmsg_len与CMSG_LEN
2013-03-23 15:25:26 595
转载 2013.3.23-4内核中用于数据接收的结构体struct msghdr
我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构。在我们的虚拟机上发送icmp回显请求包,ping另一台主机172.16.48.1。我们使用系统调用sendto发送这个icmp包。 ssize_t sendto(int s, const void *buf, size_t len, int flags,
2013-03-23 15:19:16 358
转载 2013.3.23-3
sendmsg(2)与recvmsg(2)函数这些函数为程序提供了一些其他的套接口I/O接口所不具备的高级特性。下面的内容我们将会先来看一下sendmsg来介绍这些主题。然后将会完整的介绍recvmsg函数,因为他们的函数接口是相似的。接下来,将会描述msghdr的完整结构。sendmsg(2)函数现在是时候进入这个大同盟了。从概念上说,sendmsg函数是所有写入函数的基础,而他是从
2013-03-23 15:18:56 439
转载 2013.3.23-2
这是一篇好的文章,给与我的工作很大的帮助。从4.3BSDReno开始,更改了msghdr结构的定义。在以前版本中被称之为存取权的最后两个元素改称为辅助数据。另外,在该结构结束处增加了一个新成员msg_flags。strcut msghdr {caddr_t msg_name; 可选的地址int msg_namelen; 地址长度struct iovec msg_iov;
2013-03-23 15:04:13 414
转载 2013.3.23-1
引子 socketpair中sendmsg的研究 及与signal 在进程间通讯过程中的性能对比 之前的文章有空再补吧 周一就要确定究竟用哪个更好一些CMSG(3)NAMECMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR —— 访问辅助数据SYNOPSIS#include struct
2013-03-23 14:49:29 552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人