逐步实现TCP服务端Step02-6:两个进程协作

communicator与processor分属两个进程,这个时候需要额外的机制来完成这两者的通信。

这里使用共享内存的方式来实现:

与使用线程协作的主要区别在于,g_c2s_code_queue和g_s2c_code_queue这两个队列占用的是共享内存的空间,需要对共享内存进行管理。

此前的communicator和processor共存于一个进程s中,现在把它俩分开,在两个进程中实现。可以理解为将communicator从s中拆分了出来,做成了单独的进程,把这个进程的名字定为”netio”,它专注于通信。

除了基于共享内存进行交流之外,netio和s再没有其他关系,二者是分别实现的,没有fork操作 ...


逐步实现TCP服务端:index