- 为什么传输层通信服务往往不适合构建分布式应用程序?
传输层通信服务不提供通信透明性服务,这意味着没有统一的接口,程序员需要关注传输层通信服务的具体实现,使其可拓展性差。
2. 描述一下客户端和服务器端之间使用套接字的无连接通信是如何进行的?
例如UDP通信,客户端和服务器均建立一个套接字,并且服务器的套接字要绑定到服务器IP地址和端口上,客户端通过套接字向服务器端的套接字发送数据请求,服务器端的套接字收到后,通过套接字将客户端请求的数据发给客户端。
3. 假定客户通过异步RPC对服务器进行调用,随后等待服务器使用另一异步RPC返回结果。这种方法与客户执行常规的RPC有没有什么不同?如果使用的是同步RPC而不是异步RPC,情况如何?
异步RPC指发送消息时为非阻塞发送,接受消息时为非阻塞接受。而上述的等待过程使用异步机制模拟同步过程。除此之外,异步RPC会向调用者返回一个确认通知,表示已经收到调用者的调用请求,故有所不同。若采用同步RPC,两者是一样的。
4.假定只能使用瞬时同步通信原语,如何实现用于瞬时异步通信的原语?
分支一个子进程用以消息传递。每次有消息要发送或接受,则唤醒子进程,令子进程进行处理。而父进程不阻塞,则可实现瞬时异步通信。