由于fork调用之后,父进程中打开的文件描述符在子进程中仍然保持打开,所以文件描述符可以很方便地从父进程传递到子进程。需要注意的是,传递一个文件描述符并不是传递一个文件描述符的值,而是要在接收进程中创建一个新的文件描述符,并且该文件描述符和发送进程中被传递的文件描述符指向内核中相同的文件表项。 在L ...
分类:
系统相关 时间:
2019-04-29 21:21:14
阅读次数:
219
先引入一个例子,该程序的目的是子进程向父进程传递文件描述符,并通过该文件描述符读取buf。 编译测试,发现结果不正确,通过ps aux查看到程序卡在了等待管道写数据,原因是卡在了第二个read读取buf处。我们再来看一下程序(见注释): 所以我们必须借助内核传递文件描述符,sendmsg和recvm ...
分类:
系统相关 时间:
2019-04-25 22:46:06
阅读次数:
844
传送文件描述符是高并发网络服务编程的一种常见实现方式。 "Nebula" 高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现。本文详细说明一下传送文件描述符的应用。 1. TCP服务器程序设计范式 开发一个服务器程序,有较多的的程序设计 ...
分类:
其他好文 时间:
2018-07-18 23:30:42
阅读次数:
188
传送文件描述符是高并发网络服务编程的一种常见实现方式。Nebula高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现。本文详细说明一下传送文件描述符的应用。1.TCP服务器程序设计范式??开发一个服务器程序,有较多的的程序设计范式可供选择,不同范式有其自身的特点和实用范围,明了不同范式的特性有助于我们服务器程序的开发。常见的TCP服务器程序设计范式有以下几种:迭代服务器并发服务
分类:
其他好文 时间:
2018-07-18 23:15:59
阅读次数:
259
1、管道(pipe)特点a>.通过pipe建立通信管道,fork创建子进程(传递文件描述符),且这种关系只能由父进程建立,局限于有血缘关系的进程间的通讯;b>.管道是文件,并且只存于内存中,当进程终结时,管道也消失;c>.管道只能是单向通信,一端输入,另一端输出;d>...
分类:
其他好文 时间:
2016-04-13 00:42:42
阅读次数:
170
下面的实例展示了如何使用Unix域套接字在进程间传递文件描述符参考文献:1) 《Unix网络编程》 2) http://book.51cto.com/art/200912/168560.htm最近学习了使用Unix域套接字在进程间传递文件描述符,仿照参考资料,自己也写了简单的程序来实践这种技术。其他...
分类:
系统相关 时间:
2016-01-19 19:01:05
阅读次数:
240
在POXIS下,允许不同进程间传递文件描述符(File Descriptor))的, 比如传递socket,或者普通文件,进而可以达到不需要重新打开文件,而对相同文件读写的效果(并不是分享文件句柄)。Chromium对这个特性做了封装。...
分类:
系统相关 时间:
2015-11-02 01:34:52
阅读次数:
294
半同步/半异步并发模式:父进程监听到新的客户端连接请求后,以通信管道通知进程池中的某一子进程:“嘿,有新的客户连接来了,你去accept,然后处理下!”,从而避免在进程间传递文件描述符。这种模式中,一个客户连接上的所有任务始终有同一个进程来处理。具体细节,尽在代码中:...
分类:
系统相关 时间:
2015-07-03 09:17:09
阅读次数:
158
由于python本身的线程基本上比较残废,所以为了利用机器的cpu,就不得不用上多进程。。。
在游戏服务器的设计中,最为常见的方式是:
挂一个前端服务器,专门来维护与客户端的连接,然后将客户端的请求数据转发给后端服务器。。。
上面的方式是现在最为正统的。。。
但是自己因为环境的限制,需要做到对客户端透明,然后将后端的服务器转换成为多进程的。。。所以这里就只有用一点比较别扭的方法了,首先处理登录等一些常规的逻辑放在前端服务器,当进入放进进行匹配战斗之后,将客户端的socket连接直接交给后端服务器,然后进行...
分类:
编程语言 时间:
2015-05-18 10:59:25
阅读次数:
172
UNIX域协议 UNIX域套接字与TCP相比, 在同一台主机上, UNIX域套接字更有效率, 几乎是TCP的两倍(由于UNIX域套接字不需要经过网络协议栈,不需要打包/拆包,计算校验和,维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程, 而且UNIX域协议机制本质上就是可靠的通讯, 而网络协议是为不可靠的通讯设计的). UNIX域套接字可以在同一台主机上各进程之间传递文件描述符...
分类:
其他好文 时间:
2015-03-14 21:49:06
阅读次数:
162