第17章与Postscrīpt打印机通信
1bA)vWO017.1引言
+@)c9Q[&j4e0我们现在开发一个可以与Postscrīpt打印机通信的程序。同样,与Postscrīpt打印机通信是全双工的,在发送数据给打印机时也要准备好从打印机读取状态消息。
(M%Yf2ZOT$bEwK$P0
sa.M(_ Mi2K017.2 Postscrīpt通信机制
Yr-K
gy KoD0我们并不是发送一个文件给打印机去打印—而是发送一个Postscrīpt程序给打印机让它去执行。在Postscrīpt打印机中通常有一个Postscrīpt解释器来执行这个程序,生成输出的页面。如果Postscrīpt程序有错误,Postscrīpt打印机(实际上是Postscrīpt解释器)返回一个错误消息,或许还会产生其他输出。51Testing软件测试网]EP7^x
l
Postscrīpt打印机通常通过RS-232串口与主机相连。这就如同终端的连接一样,所以第11章中的终端I/O函数在这里也适用。图17-1显示了典型的工作过程。51Testing软件测试网9c6`b){_H ]n
3r)Y!ga}3E0_017.3假脱机打印
4B_)X]?Z+V0 本章所开发的程序通过两种方式发送Postscrīpt程序给Postscrīpt打印机:单独的方式或者通过BSD行式打印机假脱机系统。通常使用假脱机系统,但提供一个独立的方式也很有用。
9N*Y&xGR{@&E0 UNIX SVR4同样提供了一个假脱机打印系统。51Testing软件测试网O
\4^P%Y[m
?
51Testing软件测试网+p
{\b9G8P
17.4源码51Testing软件测试网8JJ3`;gIVp
51Testing软件测试网*G
J#i3`GwH
51Testing软件测试网G4H
E
B r*Z(`)\
第18章调制解调器拨号器51Testing软件测试网YN(KW(o3P
18.1引言
,\H!r nA0aI$fP/a0与调制解调器相关的程序要处理如此种类繁多的调制解调器很困难。在大多数UNIX系统中总有两个程序来处理调制解调器。第一个是远程登录程序,它允许我们拨通另外的计算机、登录和使用远程系统。在系统V中这个程序叫做cu,而BSD则称它为tip。另一个使用调制解调器的程序是uucico,它是UUCP包的一部分。
(o"n7@~N0本章开发了一个程序来处理调制解调器所有需要处理的细节。51Testing软件测试网D1z*B"T6`z.Kt7}C
'Pwc0?'lR018.2历史51Testing软件测试网,_
?Rh0x+n-w iB
_^:K ZDc!s/^ta\018.3程序设计51Testing软件测试网?b6M W$ny
我们来分析一下调制解调器拨号器所应该具有的特性:
MbiBS5h3E&]P0(1)它必须在不改动源码的情况下支持新增加的调制解调器类型。
Mv.s
B#I0(2)一定要使用一些特定形式的锁,以保证当那些持有锁的程序在非正常结束时能自动释51Testing软件测试网$V9`(Y%K!K(ig0@
放它的锁。
P9W t+T-X0(3)新的程序一定要能够使用我们所开发的所有特性。51Testing软件测试网"}c2\Ye6?
(4)客户机程序,例如cu和tip,不应当需要特别权限。51Testing软件测试网pY,sQc
Qr
图18-1描述了客户机-服务器工作模式的结构。51Testing软件测试网#B+^
G.Hw,X
51Testing软件测试网kl;dc;}KHm
18.4数据文件