热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络编程6,计算机网络网络编程课件计算机网络II(6).pdf

计算机网络II张淼计算机学院ItistimetowritesimpleCSprogram-server2Cont.3Cont.4Cont.5Client6Cont.7Result8

计算机网络II

张淼

计算机学院

It is time to write simple C/S program-server

2

Cont.

3

Cont.

4

Cont.

5

Client

6

Cont.

7

Result

8

fgets

stdin writen read

TCP TCP

stdout client readline writen server

fputs

1. 1. 客户从标准输入读入一行文本客户从标准输入读入一行文本,,并写回服务器并写回服务器

2. 服务器从网络输入读入这行文本,并回射给客

3. 客户从网络输入读入这行回射文本,并显示在

标准输出.

9

多进程并发服务器

 父进程主要用于获取客户端连接父进程主要用于获取客户端连接((不与客户端直接不与客户端直接

通信通信))

 对于新的连接对于新的连接forkfork一个新的子进程进行处理一个新的子进程进行处理

父子进程避免使用对方的父子进程避免使用对方的socketsocket

多进程并发服务器

#include

pid_t fork(void);

Returns: 0 in child, process ID of child in parent, -1 on error

 对于对于forkfork

 子进程复制父进程的所有进程内存到其内存地址空间子进程复制父进程的所有进程内存到其内存地址空间子进程复制父进程的所有进程内存到其内存地址空间子进程复制父进程的所有进程内存到其内存地址空间

中中。。父父、、子进程的子进程的 ““数据段数据段””,, ““堆栈段堆栈段””和和 ““代码代码

段段””完全相同完全相同,,即子进程中的每一个字节都和父进程即子进程中的每一个字节都和父进程

一样一样

 子进程的当前工作目录等环境变量和父进程相同子进程的当前工作目录等环境变量和父进程相同,,

forkfork之前父进程打开的文件描述符之前父进程打开的文件描述符,,在子进程中同样在子进程中同样

打开打开

 子进程拥有自己的进程子进程拥有自己的进程IDID

程序的并发版本

intint main(main(intint argcargc, char *, char *argvargv[]) {[]) {

fork();fork();

printfprintf("Hello! ");("Hello! ");

return 0;return 0;

}}}}

 输出输出::

HelloHello

HelloHello

程序的并发版本

intint mai



推荐阅读
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 公司有个系统,比较古老,web端使用的是applet,applet作为socketclient端。另一台服务器运行socketserver.当多次执行某一个特定事务时(通过Applet,该事务会触 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
author-avatar
何俊雨_127
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有