zoukankan      html  css  js  c++  java
  • 第8周课下作业2(补)

    第8周课下作业2(补)

    把课上练习3的daytime服务器分别用多进程和多线程实现成并发服务器并测试

    基于进程的并发编程

    构造并发服务器最自然的方法就是,在父进程中接受客户端连接请求,然后创建一个新的子进程来为每个客户端提供服务。

    参考书上P683,基于进程的并发服务器代码。打开服务器端后,开启两个客户端,服务器能同时为两个客户端提供服务,如下图所示。

    image

    修改echo代码,实现daytime功能的并发服务器。用两个客户端向服务器请求服务,服务器响应了两个客户端请求。

    image

    具体代码—>移步码云

    基于线程的并发编程

    主线程不断地等待连接请求,然后创建一个对等线程处理该请求。参考书上P695实例代码,基于线程的并发echo服务器。打开服务器端后,开启两个客户端,服务器能同时为两个客户端提供服务,向两个客户端回送了它们上传的文本,如下图所示。

    image

    同理,修改echo代码,使其提供显示时间的功能,用两个客户端向服务器请求服务,服务器响应了两个客户端请求,显示了两次客户端请求的时间,如下图所示。

    image

    具体代码—>移步码云

    总结

    本来以为会很难,刚开始做的时候带着畏难情绪,想放弃。但发现只要最基本的CS编程模型弄懂了,想实现服务器并发,只需要按书上第12章修改即可;想要修改服务器提供的功能,也只需要换掉服务器的功能函数,修改参数,稍加调试即可。

  • 相关阅读:
    401. Binary Watch
    46. Permutations
    61. Rotate List
    142. Linked List Cycle II
    86. Partition List
    234. Palindrome Linked List
    19. Remove Nth Node From End of List
    141. Linked List Cycle
    524. Longest Word in Dictionary through Deleting
    android ListView详解
  • 原文地址:https://www.cnblogs.com/clever-universe/p/8017304.html
Copyright © 2011-2022 走看看