客戶--服務(wù)器模型很可能是當(dāng)前最為常用的、在不同的計(jì)算機(jī)上運(yùn)行的、應(yīng)用程序之間的通信模型。在同一臺(tái)計(jì)算機(jī)上運(yùn)行的不同應(yīng)用程序之間的通信聯(lián)系也常常使用這種模型。
在客戶--服務(wù)器模型中,服務(wù)器通常是一個(gè)持續(xù)運(yùn)行的程序,他在一個(gè)端口監(jiān)視來(lái)自其他應(yīng)用程序的請(qǐng)求。這種引用程序稱為客戶,他希望通過這個(gè)端口與服務(wù)器進(jìn)行通信。服務(wù)器和客戶角色只適用單個(gè)的通信連接。也就是說,在一個(gè)通信連接中,應(yīng)用程序A作為服務(wù)器,應(yīng)用程序B作為客戶。但是,在另外一個(gè)不同的通信連接中,應(yīng)用程序A的角色可能變?yōu)榭蛻?,而?yīng)用程序B的角色可能變?yōu)榉?wù)器。
Telnet服務(wù)是一個(gè)常見的客戶--服務(wù)器通信模型的例子。自阿遠(yuǎn)程機(jī)器傻姑娘有一個(gè)持續(xù)運(yùn)行的程序,稱為telnetd(表示telnet daemon),他監(jiān)視一個(gè)指定的端口(端口23),接受telnet連接請(qǐng)求。當(dāng)一個(gè)客戶尋求一個(gè)這樣的連接時(shí),他就運(yùn)行一個(gè)稱為telnet的程序,向服務(wù)器發(fā)送一個(gè)socket號(hào)碼。這個(gè)號(hào)碼是客戶計(jì)算機(jī)的IP地址和客戶與服務(wù)器進(jìn)行通信所使用的端口號(hào)的組合。當(dāng)服務(wù)器接受到這個(gè)客戶socket號(hào)碼后,他向客戶機(jī)發(fā)送他自己的socket號(hào)碼(她的IP地址加上他與客戶進(jìn)行通信的端口號(hào)),確認(rèn)這個(gè)請(qǐng)求。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。