DAY18Java語言基礎教學12 網絡

網絡編程

網絡編程是指編寫運行在多個設備(計算機)的程序,這些設備都通過網絡連接起來。

  1. 兩種常見的網絡協(xié)議的支持:
  • TCP:TCP 是傳輸控制協(xié)議的縮寫畏纲,它保障了兩個應用程序之間的可靠通信。通常用于互聯(lián)網協(xié)議万牺,被稱 TCP / IP。
  • UDP:UDP 是用戶數(shù)據報協(xié)議的縮寫,一個無連接的協(xié)議。提供了應用程序之間要發(fā)送的數(shù)據的數(shù)據包窍帝。
  1. 主要實現(xiàn)方法:
  • Socket 編程
  • URL 處理

Socket 編程

服務端與客戶端的關系

什么是Socket

網絡上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據的交換,這個雙向鏈路的一端稱為一個Socket诽偷。Socket通常用來實現(xiàn)客戶方和服務方的連接。Socket是TCP/IP協(xié)議的一個十分流行的編程界面疯坤,一個Socket由一個IP地址和一個端口號唯一確定
但是报慕,Socket所支持的協(xié)議種類也不光TCP/IP一種,因此兩者之間是沒有必然聯(lián)系的压怠。在Java環(huán)境下眠冈,Socket編程主要是指基于TCP/IP協(xié)議的網絡編程

主要步驟

  1. 服務器實例化一個 ServerSocket 對象,表示通過服務器上的端口通信。
  2. 服務器調用 ServerSocket 類的 accept() 方法蜗顽,該方法將一直等待布卡,直到客戶端連接到服務器上給定的端口。
  3. 服務器正在等待時雇盖,一個客戶端實例化一個 Socket 對象忿等,指定服務器名稱和端口號來請求連接。
  4. Socket 類的構造函數(shù)試圖將客戶端連接到指定的服務器和端口號崔挖。如果通信被建立贸街,則在客戶端創(chuàng)建一個 Socket 對象能夠與服務器進行通信。
  5. 在服務器端狸相,accept() 方法返回服務器上一個新的 socket 引用薛匪,該 socket 連接到客戶端的 socket。

ServerSocket 類的方法

服務器應用程序通過使用 java.net.ServerSocket 類以獲取一個端口,并且偵聽客戶端請求脓鹃。

ServerSocket 類有四個構造方法

序號 方法描述
1 public ServerSocket(int port) throws IOException創(chuàng)建綁定到特定端口的服務器套接字逸尖。
2 public ServerSocket(int port, int backlog) throws IOException利用指定的 backlog 創(chuàng)建服務器套接字并將其綁定到指定的本地端口號。
3 public ServerSocket(int port, int backlog, InetAddress address) throws IOException使用指定的端口瘸右、偵聽 backlog 和要綁定到的本地 IP 地址創(chuàng)建服務器娇跟。
4 public ServerSocket() throws IOException創(chuàng)建非綁定服務器套接字。

常用方法

方法 作用
public int getLocalPort() 返回此套接字在其上偵聽的端口尊浓。
public Socket accept() throws IOException 偵聽并接受到此套接字的連接逞频。
public void setSoTimeout(int timeout) 通過指定超時值啟用/禁用 SO_TIMEOUT,以毫秒為單位栋齿。
public void bind(SocketAddress host, int backlog) 將 ServerSocket 綁定到特定地址(IP 地址和端口號)苗胀。

Socket 類的方法

java.net.Socket 類代表客戶端和服務器都用來互相溝通的套接字⊥叨拢客戶端要獲取一個 Socket 對象通過實例化 基协,而 服務器獲得一個 Socket 對象則通過 accept() 方法的返回值。

Socket 類有五個構造方法.

序號 方法描述
1 public Socket(String host, int port) throws UnknownHostException, IOException.創(chuàng)建一個流套接字并將其連接到指定主機上的指定端口號菇用。
2 public Socket(InetAddress host, int port) throws IOException創(chuàng)建一個流套接字并將其連接到指定 IP 地址的指定端口號澜驮。
3 public Socket(String host, int port, InetAddress localAddress, int localPort) throws IOException.創(chuàng)建一個套接字并將其連接到指定遠程主機上的指定遠程端口。
4 public Socket(InetAddress host, int port, InetAddress localAddress, int localPort) throws IOException.創(chuàng)建一個套接字并將其連接到指定遠程地址上的指定遠程端口惋鸥。
5 public Socket()通過系統(tǒng)默認類型的 SocketImpl 創(chuàng)建未連接套接字

體會

最近的內容逐漸與之前的內容融會貫通杂穷,前段時間有些不明白的東西今天寫了幾遍之后有種頓悟的感覺。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末卦绣,一起剝皮案震驚了整個濱河市耐量,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滤港,老刑警劉巖廊蜒,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡山叮,警方通過查閱死者的電腦和手機著榴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屁倔,“玉大人脑又,你說我怎么就攤上這事√郑” “怎么了挂谍?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瞎饲。 經常有香客問我口叙,道長,這世上最難降的妖魔是什么嗅战? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任妄田,我火速辦了婚禮,結果婚禮上驮捍,老公的妹妹穿的比我還像新娘疟呐。我一直安慰自己,他們只是感情好东且,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布启具。 她就那樣靜靜地躺著,像睡著了一般珊泳。 火紅的嫁衣襯著肌膚如雪鲁冯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天色查,我揣著相機與錄音薯演,去河邊找鬼。 笑死秧了,一個胖子當著我的面吹牛跨扮,可吹牛的內容都是我干的。 我是一名探鬼主播验毡,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼衡创,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晶通?” 一聲冷哼從身側響起钧汹,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎录择,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡隘竭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年塘秦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片动看。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡尊剔,死狀恐怖,靈堂內的尸體忽然破棺而出菱皆,到底是詐尸還是另有隱情须误,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布仇轻,位于F島的核電站京痢,受9級特大地震影響,放射性物質發(fā)生泄漏篷店。R本人自食惡果不足惜祭椰,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疲陕。 院中可真熱鬧方淤,春花似錦、人聲如沸蹄殃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诅岩。三九已至讳苦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間按厘,已是汗流浹背医吊。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逮京,地道東北人卿堂。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像懒棉,于是被迫代替她去往敵國和親草描。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容

  • 計算機網絡概述 網絡編程的實質就是兩個(或多個)設備(例如計算機)之間的數(shù)據傳輸策严。 按照計算機網絡的定義穗慕,通過一定...
    蛋炒飯_By閱讀 1,215評論 0 10
  • 網絡編程的概述 網絡編程的實質就是用來實現(xiàn)網絡互連的不同計算機上運行的程序間可以進行數(shù)據交換。 一.OSI網絡模型...
    思念揮霍閱讀 373評論 0 0
  • 1.網絡編程1.1計算機網絡概述網絡編程的實質就是兩個(或多個)設備(例如計算機)之間的數(shù)據傳輸妻导。按照計算機網絡的...
    任振銘閱讀 423評論 0 1
  • 沒事兒逛绵,我們應該好好談談 即使最終如若雞同鴨講琴對牛彈 我們應該好好談談怀各,在一切結束之前 Photo by l O...
    憨憨爹閱讀 156評論 0 0
  • 昨夜起風。葉子落了一地术浪。冬天真的到了瓢对。好在穿上了棉褂子。也許該再買一件胰苏。冷天還長著呢硕蛹。樹木縱橫排列,齊齊整整的硕并。踏...
    巧先生閱讀 111評論 0 0