網(wǎng)絡(luò)編程

網(wǎng)絡(luò)編程 != 網(wǎng)站編程..前者為后者的底層.
區(qū)分好UDP和TCP的.前者更多應(yīng)用在網(wǎng)絡(luò)視頻,語音以及游戲中.后面多為登陸

Socket(插座)編程

  • 兩個java應(yīng)用程序可通過一個雙向的網(wǎng)絡(luò)通信連接實現(xiàn)數(shù)據(jù)交換,這個雙向鏈路的一端稱為一個Socket.
  • 建立連接時所需的尋址信息為遠(yuǎn)程計算機IP地址和端口號(2個字節(jié)65536個端口號)(Port Number)--一個字節(jié)8個2進(jìn)制
  • java.net包中定義的兩個類,Socket和ServerSocket,分別用來實現(xiàn)雙向連接的client和server端.
  • Socket通常用來實現(xiàn)client-server連接

TCP

    主要是進(jìn)行對DataOutputStream/DataInputStream的使用,
    以及ServerSocket/Socket使用,還有對端口的連接,連接成功的判定.
    已經(jīng)對close,flush的使用;
    ServerSocket ss = new ServerSocket(6666);
    //阻塞式,等著一個Client來連接,不間斷等著客戶端連接,給1個6666
    的端口進(jìn)行連接.

    Socket s = new Socket("127.0.0.1",6666); 
     //Socket(String host,int post);前面為本機號IP地址,后面為端口號
    OutputStream os =s.getOutputStream();//進(jìn)行輸入.為下面的父類.
    DataOutputStream dos = new DataOutputStream(os);//對上面輸入進(jìn)行包裝.
    dos.writeUTF("hello,world");

    Socket s = ss.accept(); //Socket里的類accept接受連接申請.
    DataInputStream dis = new DataInputStream(s.getInputStream());
    System.out.println(dis.readUTF());//readUTF為阻塞式等待,等傳過來一個東西,才結(jié)束 
    '現(xiàn)在網(wǎng)絡(luò)編程的同步與異步之間的效率區(qū)別,以及對readUTF同步效率低下的改善.'
    '可以自己寫一個點對點的倆天程序'

UDP

    byte buf[] = new byte[1024];
    //在內(nèi)存里分配了1024個字節(jié),1K的空間,來接收數(shù)據(jù).
    DatagramPacket dp = new DatagramPacket(buf,buf.length);
    //不能拿字節(jié)數(shù)組來接,用這個包裹接收UDP數(shù)據(jù).
    DatagramSocket ds = new DatagramSocket(5678);//定義端口
    while(true) //循環(huán)接收.
    {
    ds.receive(dp);//把這個包袱傳過來.
    System.out.println(new String(buf,2,dp.getLength()));
    //我這個包袱    到底收了多少個字節(jié)的數(shù)據(jù).
    }


    byte[] buf = (new String("Hello")).getBytes();
    DatagramPacket dp = new DatagramPacket(buf,buf.length,
                        new InetSocketAddress("127.0.0.1",5678));
    //要告訴路由器我的包發(fā)到哪里去.
    DatagramSocket ds = new DatagramSocket(9999);//我Clent端占據(jù)了9999這個端口.
    ds.send(dp);//發(fā)出這個包.
    ds.close();


    .'如何轉(zhuǎn)換long類型為字節(jié)數(shù)組類型打包輸出到Server端.'
    long n = 10000L;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();//引用java.io.*;
    DataOutputStream dos = new DataOutputStream(baos);
    dos.writeLong(n);
    //'ByteArrayOutputStream'這個類實現(xiàn)了一個輸出流郁季,其中的數(shù)據(jù)被寫入一個字節(jié)數(shù)組是越。當(dāng)數(shù)據(jù)被寫入時富岳,緩沖區(qū)會自動生長。數(shù)據(jù)可以用tobytearray()和tostring()檢索。
    //'DataOutputStream'寫入一個長的底層輸出流為八字節(jié)奔脐,高字節(jié)测萎。在不引發(fā)異常,柜臺上寫的是按8遞增沪铭。
    byte[] buf = baos.toByteArray();
    通過IO管道完成.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末壮池,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子杀怠,更是在濱河造成了極大的恐慌椰憋,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赔退,死亡現(xiàn)場離奇詭異橙依,居然都是意外死亡,警方通過查閱死者的電腦和手機硕旗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門窗骑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人漆枚,你說我怎么就攤上這事创译。” “怎么了墙基?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵软族,是天一觀的道長。 經(jīng)常有香客問我残制,道長立砸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任初茶,我火速辦了婚禮颗祝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己螺戳,他們只是感情好规揪,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著温峭,像睡著了一般猛铅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凤藏,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天奸忽,我揣著相機與錄音,去河邊找鬼揖庄。 笑死栗菜,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蹄梢。 我是一名探鬼主播疙筹,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼禁炒!你這毒婦竟也來了而咆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤幕袱,失蹤者是張志新(化名)和其女友劉穎暴备,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體们豌,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡涯捻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了望迎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片障癌。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖辩尊,靈堂內(nèi)的尸體忽然破棺而出涛浙,到底是詐尸還是另有隱情,我是刑警寧澤对省,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布蝗拿,位于F島的核電站晾捏,受9級特大地震影響蒿涎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惦辛,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一劳秋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦玻淑、人聲如沸嗽冒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽添坊。三九已至,卻和暖如春箫锤,著一層夾襖步出監(jiān)牢的瞬間贬蛙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工谚攒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留阳准,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓馏臭,卻偏偏與公主長得像野蝇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子括儒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 大家好绕沈,我是徐愛卿。博客地址:flutterall.com 引言 Android網(wǎng)絡(luò)編程一直都是我想記錄的一篇文章...
    徐愛卿閱讀 45,203評論 52 219
  • 引言 網(wǎng)絡(luò)學(xué)習(xí)的核心內(nèi)容就是網(wǎng)絡(luò)協(xié)議的學(xué)習(xí) 網(wǎng)絡(luò)協(xié)議:網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則帮寻、標(biāo)準(zhǔn)或者說是約定的集合因為不...
    _涼風(fēng)_閱讀 1,980評論 8 22
  • 原文轉(zhuǎn)自:Python教程 TCP/IP簡介雖然大家現(xiàn)在對互聯(lián)網(wǎng)很熟悉七冲,但是計算機網(wǎng)絡(luò)的出現(xiàn)比互聯(lián)網(wǎng)要早很多。 計...
    李牧羊閱讀 925評論 0 5
  • AppIcon 在XCode8之前规婆,設(shè)置應(yīng)用程序icon我都是用的一款非常好用的第三方插件RTImageAsset...
    獨木舟的木閱讀 831評論 2 0
  • 我和表哥走回醫(yī)院 我們依然坐在病房門口 過了一會澜躺,奶奶走了出來 「你們兩個還沒有睡吼,一定很累抒蚜,來掘鄙,憲純,阿嬤給你...
    南一洋閱讀 305評論 0 0