2. 结果
当Clinet发送一个消息后,Server接收该消息,Clinet再发送下一条。也就是说“(Clinet)sent\"和“(server)received\"的字样在屏幕上交替出现。 3. 分析
message的传送和控制并不保证完全同步,当一个程序不在激活状态的时候,它完全可能继续睡眠,造成了上面的现象,在多次sendmessage后才receivemessage。这-点有助于理解消息传送的实现机理。
二、共享存储区的创建,附接和断接 1.程序
2. 结果
运行的结果和预想的完全一样。但在运行的过程中,发现每当client发送一次数据后,server要等待大约0.1秒才有响应。同样,之后client又需要等待约0.1秒才发送下一个数据。 3. 分析
出现上述的应答延迟的现象是程序设计的问题。当client端发送了数据后,并没有任何措施通知server端数据已经发出,需要由client的查询才能感知。此时,client端并没有放弃系统的控制权,仍然占用CPU的时间片。只有当系统进行调度时,切换到了server进程,再进行应答。这个问题,也同样存在于server端到client的应答过程之中。 三、共享存储区的创建,附接和断接 (更改)
1.程序
2.结果
更改后的的程序结果更加明确, client发送什么到server端,server端接收什么更明了。
3.分析
由于其实在二中更改的,除了加上client发送什么到server端,server端接收什么,其他基本没有变化,但实验结果使得其程序更加和谐,在二中,虽然都是发送,接收,但不明白是否是其自己发送自己接收。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务