美文网首页
APUE读书笔记-20应用(2)

APUE读书笔记-20应用(2)

作者: QuietHeart | 来源:发表于2020-10-16 16:47 被阅读0次

2、应用2——与网络打印机通信

这里对应原书中的第21章,讲述开发了一个可以和网络打印机通信的程序,以及期间需要考虑的问题。具体请参见原文参考资料,这里只给出一些简单的说明。

(1)简介

这里,我们开发了一个可以和网络打印机通信的程序。这些打印机可以通过以太网连接到多台计算机上面,提供明文文件或者附笔(PostScript)文件。应用程序通常使用因特网打印协议(IPP)和这些打印机进行交,当然也有一些可选的通信协议。

我们将要讲述两个程序:一个是print spooler 守护进程,它给printer发送作业和提交打印作业的命令给spooler守护进程。print spooler需要用到许多功能(例如和提交作业的客户进程进行通信,和printer进行通信,读取文件,扫描目录等等),所以我们需要用到前面讲述的很多函数。例如,我们使用线程(11章和12章)来简化print spooler的设计,使用sockets(16章)进行调度打印文件的程序与print spooler之间的交互,以及print spooler和网络printer之间的交互。

(2)实现

本章具体内容,属于应用开发的范围了,这里不再进行讲述。具体参见参考资料。这里只给出一个简单的图形,描述这里开发的程序:

                            Printer spooling 的组成

            +---------+              +------------+
            |  print  |<------------>|   printd   |
            | command |              |  printer   |
            +^------^-+              |   spooler  |<---- 
            /        \               +^-----^-----+     \   queue of files to be printed
           /          \        ------/      |            \
          /            \      /             |           +-v-----+    +-------+    +-------+
+---------+           +--------+            |           | file1 |--->| file2 |--->| file3 |
| file to |           | config |            |           +-------+    +-------+    +-------+
|  print  |           |  file  |            |
+---------+           +--------+            |
                                      +-----v----+
                                      |  printer |
                                      +----------+

(3)总结

这章对两个完整的程序进行了详细的讲述:print spooler守护进程,用于给网络printer发送打印作业;以及一个可以用来提交被打印的作业到spooling守护进程的命令。这样,我们可以看到之前章节中讲到的许多的内容的应用(例如线程,多I/O,文件I/O,套接字I/O,信号等)。

译者注

原文参考

参考: APUE2/ch21.html

相关文章

  • APUE读书笔记-20应用(2)

    2、应用2——与网络打印机通信 这里对应原书中的第21章,讲述开发了一个可以和网络打印机通信的程序,以及期间需要考...

  • APUE读书笔记-20应用(1)

    1、应用1——用于操作数据库的库 这里对应原书中的第20章,讲述了一个用来操作数据库的库的开发,以及期间需要考虑的...

  • 信号函数编写研究

    APUE读书笔记 ToDoList [ ] sleep初级实现 2017年12月6日 10:41:30 [ ] ...

  • APUE读书笔记-11线程(2)

    4、线程创建 传统的 unix 进程模型,只支持每个进程只有一个线程控制。在概念上来说,这和基于线程模型的只有一个...

  • APUE读书笔记-10信号(2)

    3、signal函数 UNIX系统中最简单的一个信号相关的接口就是signal函数。声明如下: 如果成功,这个函数...

  • APUE 第一章 UNIX基础知识

    最近重新学习APUE,特开文章做学习笔记apue.h被我封装在all.h中,apue配置可以参见我的另一篇文章[C...

  • APUE读书笔记

    最近在看大神W.Richard Stevens的Advanced Programming in the UNIX®...

  • APUE读书笔记-19伪终端(2)

    2、概述 伪终端的意思是,这个终端对于应用程序来说表现像是一个终端,但是实际上它并不是一个真正的终端。下面的图就展...

  • APUE读书笔记-13守护进程(2)

    3、一些编码规范 写一个守护进程,有一些基本的编码规则,可以避免一些由于交互产生的问题。我们先说一下这些规则,然后...

  • APUE读书笔记-09进程关系(2)

    3、使用网络登陆终端 使用网络和串口终端登陆系统的主要区别是:电脑和终端之间连接的方式不是点到点的。在这种情况下,...

网友评论

      本文标题:APUE读书笔记-20应用(2)

      本文链接:https://www.haomeiwen.com/subject/pkxluktx.html