美文网首页
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)

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