关于本节,我有一些思考之后的想法希望能得到老师您的指正

来源:4-13 异步通讯的三种实现方法

thok8s

2023-02-11

老师您好,首先非常感谢您这门用心制作的精良课程,让我从中很有受益,谢谢老师。
关于本节,我有一些思考之后的想法希望能跟老师进一步的探讨和验证,关于本节代码实现的第一种实现方式(多进程实现异步通讯):在父进程中发送客户端报文,在新fork的子进程中接受服务端响应报文,我觉得这种实现方式更准确的说应该是一种同步非阻塞方式,而不能称作为完全的异步通讯,因为n个客户端的报文发送还是在父进程中依次逐个发送出去的,如果说完全意义上的异步应该是n个客户端报文发送也要提交给新的子进程来实现n个客户端报文异步互不等待的同时发送。所以我觉得如果将代码改成客户端报文发送前fork,让客户端报文的发送在新的子进程(例如子进程A)中进行,然后发送完再fork一次,让接受服务端响应报文在子进程A的子进程中进行,我觉得这样是完全意义上的异步通讯(客户端发送报文、接受服务端响应报文都是异步进行的)。
可能是我思考的方向偏了,老师您本节的初衷可能只是想实现发送和接收之间的异步,并不是想实现n个发送之间也是异步进行。
但是以上的观点我是自己的一些思考,希望能得到老师您的指正。

写回答

1回答

长歌_吴从周

2023-02-12

用fork实现异步通讯并不是一个好方法,会消耗更多的资源,能用单进程实现就用单进程。

什么方法是真正的异步,这个东西也没有准确的定义。

关于网络编程,随着你不断的深入学下去,会发现它博大精深,暂时不要太纠结。

0
1
thok8s
感谢老师的指导和建议。
2023-02-12
共1条回复

C/C++气象数据中心实战,手把手教你做工业级项目

通过技术的实际应用,掌握等同2年经验的技术能力

968 学习 · 401 问题

查看课程