/images/avatar.jpg

多进程 accept

多进程网络编程中子进程在 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); } 以上为经

socket 关闭

四次挥手 客户端主动发起连接,发送 FIN 包 服务端接收到 FIN 包传递给应用程序 服务端应用程序接收到 FIN 包后关闭连接(TCP 向对端发送 FIN) 客户端接收到 FIN

Lua的GC

主要的数据结构 gobal_State 的成员变量 GCObject **rootgc:存放待 GC 对象的链表,所有对象创建之后都会放入该链表中 GCObject *gray:存放标记为灰色的 GC 对象的链表

skynet的服务

简述 skynet 可以根据动态库(具有一定的规范)动态的创建出服务 skynet启用多线程处理服务处理消息 服务并不会主动执行逻辑,只有当服务接受到消息时才