- 相關推薦
工作站與PC之間進程的實時通訊
摘 要 該文簡要介紹了SUN工作站與PC之間進行通訊的常用方法,著重論述了一種基于Socket編程,實現進程間直接實時通訊的方法,并舉例說明。
隨著計算機的日益普及和應用領域的不斷擴展,人們對計算機性能的要求也越來越高,特別是在科學計算、圖形圖像處理、網絡工程、計算機輔助設計和制造(CAD/CAM)以及軟件工程等領域。這些領域的要求對于一般的微型計算機來說是難以勝任的,而工作站的出現又恰好滿足了這些方面的需要。SUN工作站是工作站中的典型代表,由于它采用了RISC技術等一系列先進的技術和方法,使得其性能價格比遠遠超出傳統的微、小型計算機系統,因而具有很高的市場占有率。另一方面,IBM PC及其兼容機在我國也相當普遍,它們在各行各業得到了廣泛的應用,擁有眾多的用戶和軟硬件產品。
如何將SUN工作站與PC這兩者之間有機地結合起來,使它們各盡其長,就成了一個非常現實的問題。比如在分布式應用系統中,由于PC擁有眾多像開關量和模擬量這樣的I/O接口板,因此可以用它作為工業控制現場中的下位機,完成現場數據的實時采集與相關的控制操作;而用SUN工作站作為上位機,進行總的數據處理和分析。在這樣的分布式應用系統中,SUN工作站與PC之間的通訊便是一個十分關鍵的問題。
SUN工作站與PC之間的通訊可分為兩個方面:一是硬件連接,二是軟件編程。對于硬件連接,一般說來可有以下兩種作法,第一種是利用SUN工作站本身的RS-232/RS-423串口與PC的RS-232串口,進行串行異步通訊。這種方法最大的優點是成本低,缺點是數據傳輸速度慢,數據的查錯和糾錯工作需由用戶自己完成,另外還需對硬件直接編程。第二種方法是利用SUN工作站本身配備的以太網接口,這時要求也為PC配上一塊網絡接口卡,兩者通過同軸電纜相連,構成以太網,從而實現它們之間的通訊。這種方法的優點是數據傳輸速度快,非常適合對實時性要求較高的應用項目,再加上有系統軟件與編程工具軟件包的支持,因此編程工作相對來說也比較簡單。該方法的缺點是成本比第一種方法稍高一些。
本文將著重介紹一下在第二種硬件連接方式下,即在以太網絡環境中,為了實現SUN工作站與PC之間的進程通訊,在軟件上需要做的一些工作。
我們知道,SUN工作站采用了一種稱為NFS(Network File System)的分布式文件系統,該系統最大的優點是獨立于機型、操作系統以及網絡體系結構,實現了在異構環境下的文件共享。在NFS系統的支持下,文件存取對用戶透明,即用戶使用網絡上文件的方法與使用本地文件的方法完全一致。
為了實現PC與SUN工作站之間的文件共享,我們還必須在PC上安裝一套稱為PC-NFS的軟件,該軟件由SUN公司提供。在安裝完該軟件之后,PC的用戶就可以像使用本地上的軟、硬盤那樣使用SUN工作站上的文件了。
到此為止,由于有了SUN NFS和PC-NFS這兩個系統軟件的相互配合,已經可以完成SUN工作站與PC進程之間的通訊,其通訊方式是通過文件共享。但這種方法在實際應用中往往顯得速度不夠理想,而且由于需要依靠文件作媒介,因此在時間上和操作上造成的額外開銷較大。于是,我們有必要探索一種SUN工作站與PC之間的進程不通過文件共享,而是直接進行實時通訊的方法。作者通過一段時間的摸索與實踐,找到了一種可行的方案,現提出來供大家參考。
這種實現進程間直接通訊方法的實質是在互連網域(Internet Domain)支持的TCP/IP協議下,進行基于Socket(套接字)系統調用的程序設計。Socket是網絡在傳輸層上提供給應用程序的接口,其目的主要是用來實現網絡上進程之間的通訊。下面我們就通過一個具體的實例來詳細說明這一方法。
由于Socket程序設計通常都使用Client/Server(客戶/服務器)的模型,因此我們在具體實現上也遵循這一原則,把SUN工作站作為Server, PC作為Client,兩者在程序設計上分工不同。在本例中,我們要完成的任務是在工作站上的進程與在PC上的進程之間進行雙向的數據傳輸,程序中分別各以一個字符串來代表實際要傳送的信息。
由于Socket程序設
[1] [2] [3] [4]
【工作站與PC之間進程的實時通訊】相關文章:
進程04-30
什么是移動PC04-26
什么是PC卡插槽04-26
PC電腦之路---機箱05-01
什么是PC卡插槽04-26
中國與APEC進程04-28
外貿談判進程05-04
淺議進程與線程04-30