資源描述:
《基于socket的網(wǎng)絡(luò)編程技術(shù)及其實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3卷第3期江南大學(xué)學(xué)報(自然科學(xué)版)Vol.3No.32004年6月JournalofSouthernYangtzeUniversity(NaturalScienceEdition)Jun.2004文章編號:1671-7147(2004)03-0249-03基于Socket的網(wǎng)絡(luò)編程技術(shù)及其實現(xiàn)劉駿, 顏鋼鋒(浙江大學(xué)電氣工程學(xué)院,浙江杭州310027)摘 要:在介紹TCP協(xié)議客戶端和服務(wù)器端進(jìn)程通信流程和具體實現(xiàn)的基礎(chǔ)上,以Delphi為環(huán)境編程語言,說明了在Windows下利用Socket進(jìn)行網(wǎng)絡(luò)編程的方法和特點.給
2、出了一個用局域網(wǎng)進(jìn)行文件傳輸和系統(tǒng)遠(yuǎn)程控制的實例.關(guān)鍵詞:Socket;網(wǎng)絡(luò)編程;遠(yuǎn)程控制;TCP協(xié)議中圖分類號:TP311.52文獻(xiàn)標(biāo)識碼:ANetworkProgrammingTechniqueandItsRealizationBasedonSocketLIUJun,YANGang2feng(CollegeofElectricalEngineering,ZhejiangUniversity,Hangzhou310027,China)Abstract:Thepaperintroducestheprocesscommuni
3、cationprocedureanditsspecificrealizationbetweentheclientandserverbasedonTCPprotocol.Basedontheintroduction,thepaperproposethemethodsandfeaturesofnetworksocketprogrammingusingDelphi.Aninstanceoffiletransferanddistantsystemcontrolisalsopresented.Keywords:Socket;netw
4、orkprogramming;remotecontrol;TCPprotocolSocket是建立在傳輸層協(xié)議(主要是TCP和局域網(wǎng)文件傳輸和計算機(jī)系統(tǒng)遠(yuǎn)程控制的實例.UDP)上的一種套接字規(guī)范,最初由美國加州Berkley大學(xué)提出,為UNIX操作系統(tǒng)開發(fā)的網(wǎng)絡(luò)1Socket基本原理通信接口,它定義了兩臺計算機(jī)間的通信規(guī)范(也是一種編程規(guī)范).如果兩臺計算機(jī)是利用一個“通在Windows網(wǎng)絡(luò)編程中,套接字接口主要有3道”進(jìn)行通信,那么這個“通道”的兩端就是套接字.種類型:流式套接字,數(shù)據(jù)報套接字以及原始套接Socket屏蔽
5、了底層通信軟件和具體操作系統(tǒng)的差字、流式套接字定義了一種面向連接的服務(wù),實現(xiàn)異,使得任何兩臺安裝了TCP協(xié)議軟件和實現(xiàn)了了無差錯無重復(fù)的順序數(shù)據(jù)傳輸,無長度限制.數(shù)Socket規(guī)范的計算機(jī)之間的通信成為可能.Socket據(jù)報套接字接口定義了一種無連接的服務(wù),數(shù)據(jù)通接口是TCP/IP網(wǎng)絡(luò)最為通用的API,也是在過相互獨立的報文進(jìn)行傳輸,是無序的,并且不保[1]Internet上進(jìn)行應(yīng)用開發(fā)最通用的API.證可靠.原始套接字允許對低層協(xié)議IP或ICMP直文中介紹了Socket程序設(shè)計的基本原理,并結(jié)接訪問,主要應(yīng)用網(wǎng)絡(luò)協(xié)議的測
6、試,例如Windows[2]合實例介紹了Socket程序設(shè)計的基本方法,給出了帶的Ping程序,就是通過ICMP實現(xiàn)的. 收稿日期:2003-11-26;修訂日期:2004-03-04.作者簡介:劉駿(1979-),男,江蘇泰州人,控制理論與控制工程專業(yè)碩士研究生.顏鋼鋒(1959-),男,浙江永康人,教授,博士生導(dǎo)師.主要從事紡織CAD/CAM、非線性等方面的研究.250江南大學(xué)學(xué)報(自然科學(xué)版)第3卷 在現(xiàn)在的網(wǎng)絡(luò)應(yīng)用中,通信雙方最常見的交互的網(wǎng)絡(luò)協(xié)議、系統(tǒng)的低層知識以及網(wǎng)絡(luò)軟硬件技術(shù)模式便是Client/Serve
7、r模式.客戶/服務(wù)器模式通有較深的了解與掌握.而在WindowsNT下,可以常采用監(jiān)聽/連接的方式實現(xiàn).服務(wù)器端應(yīng)用程序使用很多編程語言,如VC++,Java,Delphi等.其在一個端口監(jiān)聽對服務(wù)的請求,也就是說,服務(wù)進(jìn)中,Delphi對原來的WindowsSockets庫函數(shù)進(jìn)行程一直處于休眠狀態(tài),直到有一個客戶對這個服務(wù)了很好的包裝,封裝了各種功能,使編程更加簡單.提出了連接請求,此時服務(wù)線程被“喚醒”并為客戶Delphi6中網(wǎng)絡(luò)組件分為ClientSocket和[3]提供服務(wù),即對客戶的請求做出適當(dāng)?shù)姆磻?yīng).Serv
8、erSocket,分別用于客戶端和服務(wù)器端.對于采用面向連接的協(xié)議(如TCP)時,服務(wù)器處理ClientSocket,它是請求方,即它是主動地建立聯(lián)接;的請求比較復(fù)雜,并不是簡單的請求應(yīng)答所能夠解而Serversocket用于響應(yīng)方,其動作是偵聽以及被決的,而且大多數(shù)TCP服務(wù)器是并發(fā)服務(wù)器,因此動接受