一个关于PVM的问题
关于PVMD与任务的通信问题,任务调用pvm_系列的接口函数,在这些接口函数中都是通过调用msendrecv()把现役发送的消息发送出去,并一直等待到它响应的回复消息并设置为现役接受的消息。在msendrecv()函数中通过调用mroute(),mxfer()函数来实现。而这些函数都是通过ttpcb结构里的tt_fd套接口来读写消息的。在msendrecv()的等待过程中,pvmd应该接受并处理任务的消息并回复。pvmd通过了loclinput()函数读取任务的消息,却是通过了task结构中的t_sock成员来读消息的。
也就是说任务与PVMD通信时,两端的socket分别是topvmd->tt_fd、task->t_sock.topvmd->tt_fd调用了connect 函数与主机的IP连接,PVMD端建立了一个loclsock的socket,并在此套接口上listen,按理想的话task->t_sock应该是accept时新建立的socket,可是我没找到accept调用。这是怎么回事呢?
请问大侠,我上面的分析正确吗?能解释一下我的疑问吗? 你看的是哪里的代码?
页:
[1]