就業(yè)教程35g價(jià)值7600北風(fēng)網(wǎng)發(fā)布套接字_第1頁(yè)
就業(yè)教程35g價(jià)值7600北風(fēng)網(wǎng)發(fā)布套接字_第2頁(yè)
就業(yè)教程35g價(jià)值7600北風(fēng)網(wǎng)發(fā)布套接字_第3頁(yè)
就業(yè)教程35g價(jià)值7600北風(fēng)網(wǎng)發(fā)布套接字_第4頁(yè)
就業(yè)教程35g價(jià)值7600北風(fēng)網(wǎng)發(fā)布套接字_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

SOCKET網(wǎng)絡(luò)編程Socket相關(guān)概念socket的英文原義是“孔”或“插座”。作為進(jìn)程通信機(jī)制,取后一種意思。通常也稱作“套接字”,用于描述IP地址和端口,是一個(gè)通信鏈的句柄。(其實(shí)就是兩個(gè)程序通信用的。)socket非常類似于電話插座。以一個(gè)電話網(wǎng)為例。電話

的通話雙方相當(dāng)于相互通信的2個(gè)程序,電話號(hào)碼就是IP地址。任何用戶在通話之前,首先要占有一部電話機(jī),相當(dāng)于申請(qǐng)一個(gè)socket;同時(shí)要知道對(duì)方的號(hào)碼,相當(dāng)于對(duì)方有一個(gè)固定的socket。然后向?qū)Ψ綋芴?hào)呼叫,相當(dāng)于發(fā)出連接請(qǐng)求。對(duì)方假如在場(chǎng)并空閑,拿起電話話筒,雙方就可以正式通話,相當(dāng)于連接成功。雙方通話的過(guò)程,是一方向電話機(jī)發(fā)出信號(hào)和對(duì)方從電話機(jī)接收信號(hào)的過(guò)程,相當(dāng)于向socket發(fā)送數(shù)據(jù)和從socket接收數(shù)據(jù)。通話結(jié)束后,一方掛起電話機(jī)相當(dāng)于關(guān)閉socket,Socket相關(guān)概念在Internet上有很多這樣的主機(jī),這些主機(jī)一般運(yùn)行了多個(gè)服務(wù)軟件,同時(shí)提供幾種服務(wù)。每種服務(wù)都打開一個(gè)Socket,并綁定到一個(gè)端口上,不同的端口對(duì)應(yīng)于不同的服務(wù)。例如:http

使用80端口ftp使用21端口smtp

23端口有兩種類型:流式Socket(STREAM):是一種面向連接的Socket,針對(duì)于面向連接的TCP服務(wù)應(yīng)用,安全,但是效率低;數(shù)據(jù)報(bào)式Socket(DATAGRAM):是一種無(wú)連接的Socket,對(duì)應(yīng)于無(wú)連接的UDP服務(wù)應(yīng)用.不安全(丟失,順序混亂,在接收端要分析重排及要求重發(fā)),但效率高Socket一般應(yīng)用模式(服務(wù)器端和客戶端)1.服務(wù)端ing

socket開始監(jiān)聽端口(負(fù)責(zé)監(jiān)聽客戶端連接信息)

2.客戶端client

socket連接服務(wù)端指定端口(負(fù)責(zé)接收和發(fā)送服務(wù)端消息)3.服務(wù)端ing

socket監(jiān)聽到客戶端連接,創(chuàng)建connection

socket。(負(fù)責(zé)和客戶端通信)1.2.3.Socket一般應(yīng)用模式(服務(wù)器端和客戶端)服務(wù)器端的Socket(至少需要兩個(gè))一個(gè)負(fù)責(zé)接收客戶端連接每成功接收到一個(gè)客戶端的連接便在服務(wù)端產(chǎn)生一個(gè)對(duì)應(yīng)的Socket在接收到客戶端連接時(shí)創(chuàng)建.為每個(gè)連接成功的客戶端創(chuàng)建一個(gè)對(duì)應(yīng)的Socket.客戶端的Socket客戶端Socket必須指定要連接的服務(wù)端地址和端口。通過(guò)創(chuàng)建一個(gè)Socket對(duì)象來(lái)初始化一個(gè)到服務(wù)器端的TCP連接。Socket的通訊過(guò)程服務(wù)器端:申請(qǐng)一個(gè)socket綁定到一個(gè)IP地址和一個(gè)端口上開啟偵聽,等待接授連接客戶端:申請(qǐng)一個(gè)socket連接服務(wù)器(指明IP地址和端口號(hào))服務(wù)器端接到連接請(qǐng)求后,產(chǎn)生一個(gè)新的socket(端口大于1024)與客戶端建立連接并進(jìn)行通訊,原偵聽socket繼續(xù)偵聽。Demo1:監(jiān)聽注意:至少要定義一個(gè)要連接的遠(yuǎn)程主機(jī)的IP和端口號(hào)。端口號(hào)必須在1

和65535之間,最好在1024以后。要連接的遠(yuǎn)程主機(jī)必須正在監(jiān)聽指定端口,也就是說(shuō)你無(wú)法隨意連接遠(yuǎn)程主機(jī)。如:IPAddress

addr

=

IPAddress.Parse("");IPEndPoint

endp

=

new

IPEndPoint(addr,

10001);服務(wù)端先綁定:eSocket.Bind(endp)客戶端再連接:clientSocket.Connect(endp)相關(guān)類方法們Socket方法?IPAddress類:包含了一個(gè)IP地址IPEndPoint類:包含了一對(duì)IP地址和端口號(hào)?Socket():創(chuàng)建一個(gè)SocketBind():

綁定一個(gè)本地的IP和端口號(hào)(IPEndPoint)Listen():讓Socket偵聽傳入的連接嘗試,并指定偵聽隊(duì)列容量Connect():初始化與另一個(gè)Socket的連接Accept():接收連接并返回一個(gè)新的socketSend():輸出數(shù)據(jù)到SocketReceive():

從Socket中讀取數(shù)據(jù)Close():關(guān)閉Socket(銷毀連接)Demo2:發(fā)送文字信息Socket通信基本流程圖Socket練習(xí)Demo1:演示建立連接Demo2:使用線程來(lái)偵聽討論:聊天機(jī)器人擴(kuò)展實(shí)現(xiàn)傳

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論