关于本节,我有一些思考之后的想法希望能得到老师您的指正
来源:4-13 异步通讯的三种实现方法

thok8s
2023-02-11
老师您好,首先非常感谢您这门用心制作的精良课程,让我从中很有受益,谢谢老师。
关于本节,我有一些思考之后的想法希望能跟老师进一步的探讨和验证,关于本节代码实现的第一种实现方式(多进程实现异步通讯):在父进程中发送客户端报文,在新fork的子进程中接受服务端响应报文,我觉得这种实现方式更准确的说应该是一种同步非阻塞方式,而不能称作为完全的异步通讯,因为n个客户端的报文发送还是在父进程中依次逐个发送出去的,如果说完全意义上的异步应该是n个客户端报文发送也要提交给新的子进程来实现n个客户端报文异步互不等待的同时发送。所以我觉得如果将代码改成客户端报文发送前fork,让客户端报文的发送在新的子进程(例如子进程A)中进行,然后发送完再fork一次,让接受服务端响应报文在子进程A的子进程中进行,我觉得这样是完全意义上的异步通讯(客户端发送报文、接受服务端响应报文都是异步进行的)。
可能是我思考的方向偏了,老师您本节的初衷可能只是想实现发送和接收之间的异步,并不是想实现n个发送之间也是异步进行。
但是以上的观点我是自己的一些思考,希望能得到老师您的指正。
写回答
1回答
-
用fork实现异步通讯并不是一个好方法,会消耗更多的资源,能用单进程实现就用单进程。
什么方法是真正的异步,这个东西也没有准确的定义。
关于网络编程,随着你不断的深入学下去,会发现它博大精深,暂时不要太纠结。
012023-02-12
相似问题