<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    把困難踩在腳下

    迎難而上

     

    初寫TCP通信程序

    Tcp通信協(xié)議是基于OSI標(biāo)準(zhǔn)協(xié)議,有應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、物理層+數(shù)據(jù)鏈路層。TCP采用三次握手,所謂“三次握手”就是A向B發(fā)出連接請(qǐng)求,B向A發(fā)出收到消息,然后A向B發(fā)出收到消息。這樣可以提高通信連接的可靠性。TCP通信可以用Socket套接字實(shí)現(xiàn),Socket正如它的英文名稱“插座”一樣,兩臺(tái)電腦要想實(shí)現(xiàn)通信,每臺(tái)電腦就是一個(gè)插座,用一根虛擬的導(dǎo)線將兩個(gè)插座連接一起,就可以實(shí)現(xiàn)通信。

    下面看程序:

    先看服務(wù)器端:

     

    package com.dr.me; 

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    import java.net.ServerSocket;
    import java.net.Socket; 

    public class MyServer {
        
    public static void main(String args[]) throws IOException
        
    {
            
    //創(chuàng)建一個(gè)ServerSocket對(duì)象實(shí)例
            ServerSocket  ss=new ServerSocket(1526);
            
    //創(chuàng)建一個(gè)Socket實(shí)例對(duì)象,用來接受客戶端傳過來的Socket
            Socket client=null;
            System.out.println(
    "等待客戶端的連接、、、、、");
            
    //程序運(yùn)行到此就會(huì)阻塞,除非有客戶端連接
            client=ss.accept();
            System.out.println(
    "有客戶連接上了---");
            
    //創(chuàng)建和客戶端的通信通道
            BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
            PrintStream out
    =new PrintStream(client.getOutputStream());
            
    //向客戶端輸出信息
            out.println("Hello how are you?");
            
    //關(guān)閉輸入輸出流
            in.close();
            out.close();
        }
     

    }
     

    在此程序中首先創(chuàng)建了一個(gè)ServerSocket對(duì)象,并指明了它的端口,客戶端通過IP和這個(gè)端口和服務(wù)器端進(jìn)行連接。程序運(yùn)行到此:

    client=ss.accept();就不在往下運(yùn)行直到有客戶端連接上,在繼續(xù)往下執(zhí)行。通過   BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
            PrintStream out=new PrintStream(client.getOutputStream());
    這條語(yǔ)句就和客戶端建立了一根虛擬的通道。

    看客戶端程序:

     

    package com.dr.me; 

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.Socket;
    import java.net.UnknownHostException; 

    public class MyClient {
        
    public static void main(String args[]) throws UnknownHostException, IOException
        
    {
            
    //創(chuàng)建Socket實(shí)例對(duì)象
            Socket client=new Socket("LocalHost",1526);
            
    //創(chuàng)建String對(duì)象用來盛放從服務(wù)器端傳過來的信息,起一個(gè)緩沖作用
            String str=null;
            
    //和服務(wù)器端建立通信連接
            BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
            
    //讀取服務(wù)器端發(fā)過來的信息放在String對(duì)象中
            str=in.readLine();
            
    //把信息輸出到控制臺(tái)上
            System.out.println(str);
        }
     

    }
     

    客戶端程序:通過

    Socket client=new Socket("LocalHost",1526);

    新建一個(gè)Socket對(duì)象,并指明了要向哪臺(tái)電腦建立連接及該電腦的端口,“LocalHost”是本臺(tái)電腦的IP,也可以寫成“127.0.0.1”,如果和其他電腦連接則改為那臺(tái)電腦的IP。端口號(hào)一定要和服務(wù)器端的客戶端一致,否則出現(xiàn)異常。

    運(yùn)行時(shí)首先啟動(dòng)服務(wù)器端程序,然后再啟動(dòng)客戶端程序。

    運(yùn)行結(jié)果:

    服務(wù)器端控制臺(tái)顯示:

    啟動(dòng)服務(wù)器端顯示:

    1

    客戶端連接后顯示:

    3

    客戶端控制臺(tái)顯示:

    2

    這個(gè)程序只是簡(jiǎn)單說明了一下TCP協(xié)議,還有很多東西沒有寫出來,有不對(duì)的地方希望大家批評(píng)指正,沒時(shí)間了我還要上課,先寫到這吧。

    posted on 2010-11-12 09:30 馮魁 閱讀(265) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    快樂每一天!

    Everything is an object!

    常用鏈接

    留言簿(2)

    隨筆檔案

    學(xué)習(xí)網(wǎng)站

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 久久免费精品一区二区| 日韩精品无码永久免费网站| 午夜精品一区二区三区免费视频| 亚洲男人天堂2020| 又大又硬又粗又黄的视频免费看| 免费人成视频在线观看视频| 在线亚洲精品视频| 亚洲国产精品一区二区三区久久 | 一级毛片在播放免费| 亚洲国产成人精品91久久久| 成年免费a级毛片| 亚洲色欲色欲www在线丝| 特级做A爰片毛片免费看无码 | 精品一区二区三区高清免费观看 | 久久天天躁狠狠躁夜夜免费观看| 亚洲AV成人噜噜无码网站| 青春禁区视频在线观看直播免费| 亚洲色大网站WWW永久网站| 暖暖免费高清日本中文| 美女黄频视频大全免费的| 亚洲国产另类久久久精品黑人| 在线看片免费人成视频福利| 777亚洲精品乱码久久久久久 | 999国内精品永久免费观看| 一本色道久久88—综合亚洲精品 | 国产免费一区二区三区VR| 一区二区三区在线免费| 久久亚洲精品成人综合| 韩国免费一级成人毛片| 美女尿口扒开图片免费 | 久久精品国产亚洲麻豆| 4455永久在线观免费看| 小说专区亚洲春色校园| 精品国产_亚洲人成在线高清| 国产精品久久免费| 黄色网址在线免费观看| 久久精品国产亚洲AV香蕉| 国产成人精品免费直播| 免费人成黄页在线观看日本| 亚洲精品9999久久久久无码| 亚洲综合av永久无码精品一区二区|