好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 科學知識:理解socket

科學知識:理解socket

熱門標簽:熱血傳奇沃瑪森林地圖標注 福建ai電銷機器人加盟公司 地圖標注審核工作怎么樣注冊 地圖標注植物名稱 去哪里辦卡 揭陽外呼系統(tǒng)公司 南召400電話辦理資費 無錫電銷機器人銷售 招聘信息 鄭州中國移動400電話申請

網絡上的兩個程序通過一個雙向的通信連接實現(xiàn)數據的交換,這個連接的一端稱為一個socket。

Socket的英文原義是"孔"或"插座"。作為BSD UNIX的進程通信機制,取后一種意思。通常也稱作"套接字",用于描述IP地址和端口,是一個通信鏈的句柄,可以用來實現(xiàn)不同虛擬機或不同計算機之間的通信。在Internet上的主機一般運行了多個服務軟件,同時提供幾種服務。每種服務都打開一個Socket,并綁定到一個端口上,不同的端口對應于不同的服務。Socket正如其英文原意那樣,像一個多孔插座。一臺主機猶如布滿各種插座的房間,每個插座有一個編號,有的插座提供220伏交流電, 有的提供110伏交流電,有的則提供有線電視節(jié)目。 客戶軟件將插頭插到不同編號的插座,就可以得到不同的服務。

socket非常類似于電話插座。以一個國家級電話網為例。電話的通話雙方相當于相互通信的2個進程,區(qū)號是它的網絡地址;區(qū)內一個單位的交換機相當于一臺主機,主機分配給每個用戶的局內號碼相當于socket號。任何用戶在通話之前,首先要占有一部電話機,相當于申請一個socket;同時要知道對方的號碼,相當于對方有一個固定的socket。然后向對方撥號呼叫,相當于發(fā)出連接請求(假如對方不在同一區(qū)內,還要撥對方區(qū)號,相當于給出網絡地址)。對方假如在場并空閑(相當于通信的另一主機開機且可以接受連接請求),拿起電話話筒,雙方就可以正式通話,相當于連接成功。雙方通話的過程,是一方向電話機發(fā)出信號和對方從電話機接收信號的過程,相當于向socket發(fā)送數據和從socket接收數據。通話結束后,一方掛起電話機相當于關閉socket,撤消連接。

在電話系統(tǒng)中,一般用戶只能感受到本地電話機和對方電話號碼的存在,建立通話的過程,話音傳輸的過程以及整個電話系統(tǒng)的技術細節(jié)對他都是透明的,這也與socket機制非常相似。socket利用網間網通信設施實現(xiàn)進程通信,但它對通信設施的細節(jié)毫不關心,只要通信設施能提供足夠的通信能力,它就滿足了。

至此,我們對socket進行了直觀的描述。抽象出來,socket實質上提供了進程通信的端點。進程通信之前,雙方首先必須各自創(chuàng)建一個端點,否則是沒有辦法建立聯(lián)系并相互通信的。正如打電話之前,雙方必須各自擁有一臺電話機一樣。在網間網內部,每一個socket用一個半相關描述:

(協(xié)議,本地地址,本地端口)

一個完整的socket有一個本地唯一的socket號,由操作系統(tǒng)分配。

最重要的是,socket 是面向客戶/服務器模型而設計的,針對客戶和服務器程序提供不同的socket 系統(tǒng)調用。客戶隨機申請一個socket (相當于一個想打電話的人可以在任何一臺入網電話上撥號呼叫),系統(tǒng)為之分配一個socket號;服務器擁有全局公認的 socket ,任何客戶都可以向它發(fā)出連接請求和信息請求(相當于一個被呼叫的電話擁有一個呼叫方知道的電話號碼)。

socket利用客戶/服務器模式巧妙地解決了進程之間建立通信連接的問題。服務器socket 半相關為全局所公認非常重要。讀者不妨考慮一下,兩個完全隨機的用戶進程之間如何建立通信?假如通信雙方沒有任何一方的socket 固定,就好比打電話的雙方彼此不知道對方的電話號碼,要通話是不可能的。

所謂socket通常也稱作"套接字",應用程序通常通過"套接字"向網絡發(fā)出請求或者應答網絡請求。以J2SDK-1.3為例,Socket和ServerSocket類庫位于java .net包中。ServerSocket用于服務器端,Socket是建立網絡連接時使用的。在連接成功時,應用程序兩端都會產生一個Socket實例,操作這個實例,完成所需的會話。對于一個網絡連接來說,套接字是平等的,并沒有差別,不因為在服務器端或在客戶端而產生不同級別。不管是Socket還是ServerSocket它們的工作都是通過SocketImpl類及其子類完成的。

根據連接啟動的方式以及本地套接字要連接的目標,套接字之間的連接過程可以分為三個步驟:服務器監(jiān)聽,客戶端請求,連接確認。

服務器監(jiān)聽:是服務器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實時監(jiān)控網絡狀態(tài)。

客戶端請求:是指由客戶端的套接字提出連接請求,要連接的目標是服務器端的套接字。為此,客戶端的套接字必須首先描述它要連接的服務器的套接字,指出服務器端套接字的地址和端口號,然后就向服務器端套接字提出連接請求。

連接確認:是指當服務器端套接字監(jiān)聽到或者說接收到客戶端套接字的連接請求,它就響應客戶端套接字的請求,建立一個新的線程,把服務器端套接字的描述發(fā)給客戶端,一旦客戶端確認了此描述,連接就建立好了。而服務器端套接字繼續(xù)處于監(jiān)聽狀態(tài),繼續(xù)接收其他客戶端套接字的連接請求。

如何開發(fā)一個Server-Client模型的程序

開發(fā)原理:

服務器,使用ServerSocket監(jiān)聽指定的端口,端口可以隨意指定(由于1024以下的端口通常屬于保留端口,在一些操作系統(tǒng)中不可以隨意使用,所以建議使用大于1024的端口),等待客戶連接請求,客戶連接后,會話產生;在完成會話后,關閉連接。

客戶端,使用Socket對網絡上某一個服務器的某一個端口發(fā)出連接請求,一旦連接成功,打開會話;會話完成后,關閉Socket。客戶端不需要指定打開的端口,通常臨時的、動態(tài)的分配一個1024以上的端口。

Socket接口是TCP/IP網絡的API,Socket接口定義了許多函數或例程,程序員可以用它們來開發(fā)TCP/IP網絡上的應用程序。要學Internet上的TCP/IP網絡編程,必須理解Socket接口。Socket接口設計者最先是將接口放在Unix操作系統(tǒng)里面的。如果了解Unix系統(tǒng)的輸入和輸出的話,就很容易了解Socket了。網絡的Socket數據傳輸是一種特殊的I/O,Socket也是一種文件描述符。Socket也具有一個類似于打開文件的函數調用Socket(),該函數返回一個整型的Socket描述符,隨后的連接建立、數據傳輸等操作都是通過該Socket實現(xiàn)的。

標簽:文山 景德鎮(zhèn) 宣城 黔南 鹽城 桂林 南昌 東莞

巨人網絡通訊聲明:本文標題《科學知識:理解socket》,本文關鍵詞  科學,知識,理解,socket,科學,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《科學知識:理解socket》相關的同類信息!
  • 本頁收集關于科學知識:理解socket的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 天堂а√在线中文在线| 波多野结衣电影手机| 91丝袜视频| 免费国产在线观看不卡| 丰满岳乱妇在线观看中字| 西西人体大胆ww4444多少集| ririai666国产精品| 韩国甜性涩爱在线播放| 欧美性婬爽www视频播放| 农村妇女老bbwbbw| 3D漫画| 真实女人一级特黄大片| 1313午夜精品理论片| 久久逼逼| 5级黄高潮片90分钟免费看| 被男友抱到墙上cao到哭H漫画 | 18爽爽国产色AV视频免费看 | 武松大战潘金莲嗯啊轻点| 40余种姿势这里有点疼| 嗯灬啊灬快灬高潮了灬这都有水| 聊斋艳谭高清| 麻麻被强行按到床强糟蹋| 96精品高清视频在线观看软件的特点| 加勒比尾野真知子水奴在线播放| 17club国产精品入口永久地址| 国内自拍第100页| 欧美成人免费在线| 国产香蕉尹人在线观看视频| 欧美成人精品激情在线观看| 99国产精品白浆在线观看免费| 木瓜影院伦电影理论| 久久午夜夜伦鲁鲁影院| 永新县| 美女三级网站| 天干天干天干天干日天干| 色情A片久久久久试看区| 肉文电影| 两阳夹一阴双响炮k线| 入禽太深全文免费观看| 337P粉嫩大胆色噜噜嚕动态图| MJ国产精品视频一区二区|