多进程网络编程中子进程在 fork 后应该先做什么处理再进行 fd 读写处理pid_t pid; int listenfd, connfd; listenfd = Socket(...); Bind(listenfd, ...); Listen(listenfd, LISTENQ); for(;;) { connfd = Accept(listenfd, ...); if( (pid = Fork()) == 0) { Close(listenfd); doit(connfd); Close(connfd); exit(0); } Close(connfd); } 以上为经
框架示意图 各个进程及其作用 main 进程:游戏逻辑进程 chat 进程:聊天进程,和 main 进程一一对应 fight 进程:战斗进程,和 main 进程一一对应 record 进程:日志管理进程,和 main
四次挥手 客户端主动发起连接,发送 FIN 包 服务端接收到 FIN 包传递给应用程序 服务端应用程序接收到 FIN 包后关闭连接(TCP 向对端发送 FIN) 客户端接收到 FIN
主要的数据结构 gobal_State 的成员变量 GCObject **rootgc:存放待 GC 对象的链表,所有对象创建之后都会放入该链表中 GCObject *gray:存放标记为灰色的 GC 对象的链表
简述 skynet 可以根据动态库(具有一定的规范)动态的创建出服务 skynet启用多线程处理服务处理消息 服务并不会主动执行逻辑,只有当服务接受到消息时才