基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc

基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc

ID:59526708

大小:14.50 KB

頁數(shù):5頁

時間:2020-11-08

基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc_第1頁
基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc_第2頁
基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc_第3頁
基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc_第4頁
基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc_第5頁
資源描述:

《基于Socket的網(wǎng)絡編程技術及其實現(xiàn).doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、基于Socket的網(wǎng)絡編程技術及其實現(xiàn)  摘要:科學技術的不斷發(fā)展推動了網(wǎng)絡信息化時代的發(fā)展,隨著計算機技術不斷的發(fā)展,各種網(wǎng)絡編程技術日新月異。本文介紹了Socket網(wǎng)絡編程的基本概念,以及實現(xiàn)Socket編程的基本原理,通給出一個基于TCP協(xié)議實例,來說明實現(xiàn)網(wǎng)絡編程?! £P鍵詞:Socket;網(wǎng)絡編程技術;通信  隨著科學技術的發(fā)展,計算機網(wǎng)絡編程技術在人們的日常生活中的應用也越來越普遍了通過網(wǎng)絡使用通信協(xié)議實現(xiàn)進程間的通信,TCP/IP就是網(wǎng)絡上常用的協(xié)議之一,在進行網(wǎng)絡編程程序設計時,TCP/IP協(xié)議的核心內(nèi)容受到操作系統(tǒng)的控制。網(wǎng)絡編程程序必須通過協(xié)議來實現(xiàn)自己的功能,靠系統(tǒng)提

2、供的TCP/IP協(xié)議來完成編程程序?! ?Socket網(wǎng)絡編程的基本概念  Socket是應用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。在設計模式中,Socket其實就是一個門面模式,它把復雜的TCP/IP協(xié)議族隱藏在Socket[1]接口后面,對用戶來說,一組簡單的接口就是全部,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議。Socket可以看成在兩個程序進行通訊連接中的一個端點,是連接應用程序和網(wǎng)絡驅(qū)動程序的橋梁,Socket在應用程序中創(chuàng)建,通過綁定與網(wǎng)絡驅(qū)動建立關系。此后,應用程序送給Socket的數(shù)據(jù),由Socket交網(wǎng)絡驅(qū)動程序向網(wǎng)絡上發(fā)送出去。計算機從網(wǎng)絡上收到與

3、該Socket綁定IP地址和端口號相關的數(shù)據(jù)后,由網(wǎng)絡驅(qū)動程序交給Socket,應用程序便可從該Socket中提取接收到得數(shù)據(jù),網(wǎng)絡應用程序就是這樣通過Socket進行數(shù)據(jù)的發(fā)送與接收的?! ?.1關于地址  一個程序要想與另一個程序通信,就要給計算機提供足夠的信息,使其能找到另一個程序。在TCP/IP協(xié)議中,有兩部分信息用來定位一個指定的程序,互聯(lián)網(wǎng)地址(Internetaddress)和端口號(portnumber)。其中互聯(lián)網(wǎng)地址由IP協(xié)議使用,而附加的端口號地址信息由傳輸協(xié)議使用(TCP/IP協(xié)議)解析?! ?.2套接字  Socket(套接字)是一中比較抽象的東西,利用編程程序來

4、接受數(shù)據(jù)[2]。計算機網(wǎng)絡編程程序根據(jù)TCP/IP協(xié)議中系統(tǒng)提供的程序來完成套接字的通訊。每一臺計算機都有一個標識來識別計算機的應用程序。如果一個端口確定了一臺主機上的一個套接字,那么主機中的多個程序可以對同一個套接字進行訪問。在實際應用中,訪問相同的套接字的不同程序一般屬于同一個應用。Socket套接口有3種類型。一種SOCK_STREAM流式套接口,面向連接的,可靠地,TCP。第二種是SOCK_DRAM數(shù)據(jù)報套接口,面向無連接,不可靠,UDP。第三種是原始套接口,主要用于新的網(wǎng)絡協(xié)議實現(xiàn)的測試?! ?Socket編程主要流程  編程分為服務器端和客戶端兩個方面。在進行Socket編程的

5、時候,首先創(chuàng)建服務器套接字,服務器端通過Socket()建立一個套接字,然后通過bind()將創(chuàng)建的套接字綁接到要聯(lián)系的IP地址和端口上,調(diào)用listen()監(jiān)聽鏈接請求,客戶端通過接受指令,通過Socket()建立一個套接字,利用界面上的“connect”按鈕,調(diào)用Connect()像服務器請求連接。在客戶端完成Connect指令后,服務器端調(diào)用[3]accept()接受請求并返回新的套接字,通過返回的套接字與客戶端進行通信,當在客戶端點擊Send()指令時,服務器端就得調(diào)用receive()指令接受信息。在完成通信交流后,服務器端與客戶端調(diào)用Close()關閉Socket(),寵兒終端

6、連接。例如Daytime服務器,如下圖所示?! ?Socket網(wǎng)絡編程技術實現(xiàn)  publicstaticsynchronizedvoidsetSocketFactory(SocketImplFactoryfac)throwsIOException這個方法設置系統(tǒng)(system)的服務器SocketImplFactory,這是用于創(chuàng)建  ServerSocket對象的類庫。它與創(chuàng)建Socket對象的類庫有所不同,盡管語法是相似的。可以用一個庫創(chuàng)建Socket對象,用另一個庫創(chuàng)建ServerSocket對象。但是在程序也可以只設置這個類庫一次。試圖第二次設置SocketImplFactory

7、時會觸發(fā)一個SocketException?! rotectedfinalvoidimplAccept(Sockets)throwsIOExceptionServerSocket的子類使用這個方法實現(xiàn)accept()??梢园盐催B接的Socket對象傳遞到implAccept()(這樣做同樣要求實現(xiàn)Socket子類,因為標準的java.net.Socket類沒有提供創(chuàng)建未連接套接字的工具)。當此方法返回時,Socket變

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。