⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000018.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
Any&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACU&nbsp;&nbsp;<BR>ACU&nbsp;&nbsp;<BR>ACU&nbsp;&nbsp;<BR>modem&nbsp;&nbsp;<BR>laser&nbsp;&nbsp;&nbsp;19200&nbsp;&nbsp;<BR>9600&nbsp;&nbsp;<BR>2400&nbsp;&nbsp;<BR>19200&nbsp;&nbsp;<BR>19200&nbsp;&nbsp;&nbsp;5551234&nbsp;&nbsp;<BR>5552345&nbsp;&nbsp;<BR>5556789&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;(not&nbsp;used)&nbsp;&nbsp;<BR>(not&nbsp;used)&nbsp;&nbsp;<BR>(not&nbsp;used)&nbsp;&nbsp;<BR>(not&nbsp;used)&nbsp;&nbsp;<BR>(not&nbsp;used)&nbsp;&nbsp;<BR>图18.2&nbsp;&nbsp;Systems&nbsp;文件&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;域是远程系统的名字。例如,我们可以使用cu&nbsp;host1这种形式的命令。&nbsp;&nbsp;<BR>这里要注意的是,我们可以对同一远程系统建立多个项。系统按顺序尝试拨号这些&nbsp;&nbsp;<BR>项。在18.2中名为modem和laser的项对应于与调制解调器和激光打印机的直接连接&nbsp;&nbsp;<BR>。我们并不需要拨号来连接这些设备,但我们对它们仍需要打开合适的终端连线,&nbsp;&nbsp;<BR>并处理好加锁问题。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Time域指定了拨号的星期和时间。这是一个UUCP的域。Type域指定了对这个特&nbsp;&nbsp;<BR>定的name使用Devices文件中的哪一项。Class域是指线路速率(波特率)。Phone&nbsp;&nbsp;<BR>域指定那些type为ACU项的电话号码,而其他项的phone域是一个连字符。最后一个&nbsp;&nbsp;<BR>域login,是一个字符串。它是在UUCP中远程登录时所使用的,我们不使用这个域&nbsp;&nbsp;<BR>。&nbsp;&nbsp;<BR>type&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;&nbsp;&nbsp;&nbsp;line2&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;dialer&nbsp;&nbsp;<BR>ACU&nbsp;&nbsp;<BR>ACU&nbsp;&nbsp;<BR>ACU&nbsp;&nbsp;<BR>ACU&nbsp;&nbsp;<BR>modem&nbsp;&nbsp;<BR>laser&nbsp;&nbsp;&nbsp;cua0&nbsp;&nbsp;<BR>cua0&nbsp;&nbsp;<BR>cua0&nbsp;&nbsp;<BR>cua0&nbsp;&nbsp;<BR>ttya&nbsp;&nbsp;<BR>ttyb&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;<BR>-&nbsp;&nbsp;<BR>-&nbsp;&nbsp;<BR>-&nbsp;&nbsp;<BR>-&nbsp;&nbsp;<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19200&nbsp;&nbsp;<BR>9600&nbsp;&nbsp;<BR>2400&nbsp;&nbsp;<BR>1200&nbsp;&nbsp;<BR>19200&nbsp;&nbsp;<BR>19200&nbsp;&nbsp;&nbsp;tbfast&nbsp;&nbsp;<BR>tb9600&nbsp;&nbsp;<BR>tb2400&nbsp;&nbsp;<BR>tb1200&nbsp;&nbsp;<BR>direct&nbsp;&nbsp;<BR>direct&nbsp;&nbsp;<BR>图18.3&nbsp;&nbsp;Devices&nbsp;文件&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Devices文件包含了调制解调器和那些直接连接的主机的信息。图18.3列出了&nbsp;&nbsp;<BR>这个文件中的五个域。Type&nbsp;域与Systems文件中type域对应。Class域也一定要与&nbsp;&nbsp;<BR>systems文件中对应的class域一致,它通常指定了线路速率。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;设备的实际名称是对line字段加前缀/dev/。在这个例子中,实际设备是/dev&nbsp;&nbsp;<BR>/cua0,/dev/ttya和/dev/ttyb。另外一个域line2,没有被使用。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;最后一个域dialer,与Dialers文件中对应项一致。对于直接相连的项则为di&nbsp;&nbsp;<BR>rect。&nbsp;&nbsp;<BR>图18.4显示了Dialers文件的格式。这个文件包含了所有调制解调器的拨号命令。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>dialer&nbsp;&nbsp;sub&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handshake&nbsp;&nbsp;<BR>tb9600&nbsp;&nbsp;=w-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&nbsp;\dA\pA\pA\pTQ0S2=255S12=255s50=6s58=2s68=255\r\c&nbsp;&nbsp;<BR>OK\r&nbsp;&nbsp;\EATDT\T\r\c&nbsp;CONNECT\s9600&nbsp;\r\c&nbsp;&quot;&quot;&nbsp;&nbsp;<BR>tbfast&nbsp;&nbsp;=w-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&nbsp;\dA\pA\pA\pTQ0S2=255S12=255s50=255s58=2s68=255s110=1s111=&nbsp;&nbsp;<BR>30\r\c&nbsp;&nbsp;<BR>OK\r&nbsp;&nbsp;\EATDT\T\r\c&nbsp;CONNECT\sFAST&nbsp;&nbsp;<BR>图18.4&nbsp;Dialers文件&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;这里只有两项,我们没有列出Devices中的tb1200和tb2400项。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Handshake域本应该写在同一行,因为版面的限制,我们把它放在两行上。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Dialer域是与Devices文件中的行相对应。Sub域则指定了在电话号码中等于号&nbsp;&nbsp;<BR>和减号的替代字符。在图18.4中,这个域表明了用w代替等于号,逗号代替减号。&nbsp;&nbsp;<BR>这样就允许Systems文件中的电话号码中含有等于号(意思是等待拨号音)和减号&nbsp;&nbsp;<BR>(意思是暂停)。在不同的调制解调器上,这两个字符的含义不同,将它们代换成&nbsp;&nbsp;<BR>何种字符,需在Dialers文件中指定。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;最后一个域handshake,包含了实际的拨号指令。它是一连串以空格分开的字&nbsp;&nbsp;<BR>符串,称为期望-发送串。我们期望(一直读取,直到得到匹配字符串)得到第一&nbsp;&nbsp;<BR>个字符串,然后发送(写入)第二个字符串。作为一个例子,让我们来查看tbfas&nbsp;&nbsp;<BR>t项。这个项是用于PEP(packetized&nbsp;ensemble&nbsp;protocol)&nbsp;模式的Telebit&nbsp;Trailb&nbsp;&nbsp;<BR>lazer&nbsp;调制解调器。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;1.第一个期望字符串是空,意思是&quot;期望空&quot;。这总是成功的。&nbsp;&nbsp;<BR>2.发送第二个字符串,这个字符串以\d开头,\d表示暂停两秒。然后发送A。再暂&nbsp;&nbsp;<BR>停半秒(\p),发送另外一个A,暂停,再发送一个A,再暂停。接着,我们发送余&nbsp;&nbsp;<BR>下的以T开头的字符串。这些都是设置调制解调器的命令。\r发送一个回车,\c表&nbsp;&nbsp;<BR>明在发送字符串结尾不要开始新行。&nbsp;&nbsp;<BR>3.从调制解调器读取,直到得到字符串OK\r。&nbsp;&nbsp;<BR>4.下一个发送串以\E开头,这允许进行回应检查:每次我们发送给调制解调器一&nbsp;&nbsp;<BR>个字符,我们就一直读取直到有回应。然后我们发送第四个字符ATDT。下一个特殊&nbsp;&nbsp;<BR>字符\T,是指使用替代的电话号码。然后是一个回车符,然后是\c是指在发送字符&nbsp;&nbsp;<BR>串后不要开始新行。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;5.最后的期望字符串是等待调制解调器返回CONNECT&nbsp;FAST。(\s意思是单个&nbsp;&nbsp;<BR>空格)&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;当收到最后的期望字符串后,拨号就完成了。(当然,在这handshake字符串&nbsp;&nbsp;<BR>中可能出现其它更多的特殊字符序列,我们就不详细说明了。)&nbsp;&nbsp;<BR>现在来总结一下,我们对这三个文件的操作。&nbsp;&nbsp;<BR>1.&nbsp;使用远程系统的名称,在Systems文件中找到相同name的第一项。&nbsp;&nbsp;<BR>2.&nbsp;在Devices文件中找到对应的项,其type域和class域与Systems文件中项的相&nbsp;&nbsp;<BR>应域匹配。&nbsp;&nbsp;<BR>3.&nbsp;在Dilaler文件中找到与Devices文件dialer域对应的项。&nbsp;&nbsp;<BR>4.&nbsp;拨号。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;这个过程如果失败,有两个原因:(1)对应于devices文件中line域的设备已&nbsp;&nbsp;<BR>经被其他人所使用。(2)拨号不成功。(例如,远程系统电话占线,或者远程系&nbsp;&nbsp;<BR>统关机不响应电话等)。第二种情况我们一般可以通过对调制解调器读写超时来确&nbsp;&nbsp;<BR>定。(可参考练习18.10)。不管出现哪一种情况,我们都要回到拨号的第一步,&nbsp;&nbsp;<BR>然后选择Systems文件中同一远程系统的下一项。如同我们在图18.2中看到的,一&nbsp;&nbsp;<BR>个特定的主机可以有多个项,每个主机可以有多个电话号码(同一个电话号码也可&nbsp;&nbsp;<BR>以对应多个设备)。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;在Honey&nbsp;DanBer&nbsp;系统中还有其他我们没有用到的文件。如Dialcodes指定了S&nbsp;&nbsp;<BR>ystems文件中电话号码的缩写,而Sysfiles文件允许指定Systems、Devices、Dia&nbsp;&nbsp;<BR>lers文件的替代文件。&nbsp;&nbsp;<BR>18.5&nbsp;&nbsp;服务器端程序设计&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;现在我们开始描述一下服务器端的软件。有两个因素影响服务器端软件的设计&nbsp;&nbsp;<BR>。&nbsp;&nbsp;<BR>1.&nbsp;拨号过程可能会延续一段时间(15-30秒),所以服务器端软件一定要创建一&nbsp;&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -