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