第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

Java Socket應(yīng)用---通信是這樣練成的

難度初級(jí)
時(shí)長 2小時(shí) 0分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.77
496人評(píng)價(jià) 查看評(píng)價(jià)
9.9 內(nèi)容實(shí)用
9.8 簡潔易懂
9.6 邏輯清晰
  • Socket通信模型

    查看全部
  • 基于TCP協(xié)議的Socket通信:服務(wù)器端

    //4.關(guān)閉資源

    br/isr/is/socket/serverSocket.close();

    查看全部
  • 服務(wù)端:
    1、創(chuàng)建ServerSocket對象,綁定監(jiān)聽端口
    2、通過accept()方法監(jiān)聽客戶端請求
    3、連接建立后,通過輸入流讀取客戶端發(fā)送的請求信息
    4、通過輸出流向客戶端發(fā)送響應(yīng)信息
    5、關(guān)閉相關(guān)資源

    客戶端:
    1、創(chuàng)建Socket對象,指明需要連接的服務(wù)器的地址和端口號(hào)
    2、連接建立后,通過輸出流向服務(wù)器端發(fā)送請求信息
    3、通過輸入流獲取服務(wù)器相應(yīng)的信息
    4、關(guān)閉相關(guān)資源。

    查看全部
  • TCP協(xié)議是面向連接、可靠、有序的、以字節(jié)流的方式發(fā)送數(shù)據(jù)

    基于TCP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信的類?

    ?客戶端的Socket類?

    服務(wù)器端的ServerSocket類TCP的

    Socket通信實(shí)現(xiàn)步驟

    1,創(chuàng)建服務(wù)器端ServerSocket和客戶端Socket

    2,打開連接到Socket的輸出和輸入流

    3,按照協(xié)議對Socket進(jìn)行讀寫操作

    4,關(guān)閉輸入輸出流,關(guān)閉Socket

    Socket通信模型如圖:

    查看全部
    0 采集 收起 來源:Socket 簡介

    2018-06-03

  • 1.URL(Uniform Resource Locator)統(tǒng)一資源定位符,表示Internet上某一資源的地址。 2.URL由兩部分組成:協(xié)議名稱和資源名稱,中間用冒號(hào)隔開。 3.在java.net中提供了URL類來表示URL。 使用URL讀取網(wǎng)頁的內(nèi)容 1.通過URL對象的openStream()方法可以得到指定資源的輸入流。 2.通過輸入流可以讀取、訪問網(wǎng)絡(luò)上的數(shù)據(jù)。 ---------------------------------------- //創(chuàng)建一個(gè)URL實(shí)例 URL imooc=new URL("http://idcbgp.cn"); //?后面表示參數(shù),#后面表示錨點(diǎn) URL url=new URL(imooc, "/index.html?username=tom#test"); //主要方法: //getProtocol();getHost();getPort();getPath();getFile();getRef();getQuery(); //讀取網(wǎng)頁內(nèi)容 //通過URL的openStream方法獲取URL對象所表示的資源的字節(jié)輸入流 InputStream is = url.openStream()

    查看全部
  • InetAddress類沒有構(gòu)造方法,不能直接new出一個(gè)對象

    可以通過InetAddress類的靜態(tài)方法獲得InetAddress的對象; InetAddress.getLocalHost();

    ?InetAddress.getByName("");//可以傳入IP地址或主機(jī)名?

    類主要方法:?

    String - address.getHostName();?

    String - address.getHostAddress(); 主機(jī)名可以是機(jī)器名(如 "java.sun.com"),也可以是其 IP 地址的文本表示形式

    查看全部
  • Socket編程 一、網(wǎng)絡(luò)基礎(chǔ)知識(shí) 兩臺(tái)計(jì)算機(jī)要通過網(wǎng)絡(luò)進(jìn)行通信,必須具備:a、唯一的標(biāo)識(shí)(IP地址); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    b、需要共同的語言(協(xié)議); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    ?c、辨別不同應(yīng)用程序(端口號(hào))。

    ?1、IP地址: 每臺(tái)計(jì)算機(jī)的唯一標(biāo)識(shí),用來區(qū)分網(wǎng)絡(luò)中的不同主機(jī),是兩臺(tái)主機(jī)進(jìn)行網(wǎng)絡(luò)通信必不可少的。IPv4

    ?2、協(xié)議: a、TCP/IP協(xié)議:目前世界上應(yīng)用最為廣泛的協(xié)議。是以TCP和IP為基礎(chǔ)的不同層次上多個(gè)協(xié)議的集合。 ? ? ? ? ? ? ? 也稱為:TCP/IP協(xié)議族 ?或者 ?TCP/IP協(xié)議棧。

    ?b、TCP: Transmission Control Protocol ? 傳輸控制協(xié)議

    ?c、IP :Internet Protocol ?互聯(lián)網(wǎng)協(xié)議

    ?d、TCP/IP模型(網(wǎng)絡(luò)分層):

    1、物理層;網(wǎng)線。。。 ? ? ? ? ? ? ? ? ? ? ? ?

    ?2、數(shù)據(jù)鏈路層 ? ? ? ? ? ? ? ? ? ? ? ?

    ?3、網(wǎng)絡(luò)層 ? ? ? ? ? ? ? ? ? ? ? ??

    4、傳輸層:TCP/IP協(xié)議 ? ? ? ? ? ? ? ? ? ? ? ?

    ?5、應(yīng)用層:HTTP超文本傳輸協(xié)議、FTP文件傳輸協(xié)議、SMTP簡單郵件傳送協(xié)議、Telnet遠(yuǎn)程登錄服務(wù)。

    ?3、端口號(hào):

    ?a、用于區(qū)分不同的應(yīng)用程序;

    ?b、端口號(hào)范圍為0-65535,其中0-1023為系統(tǒng)所保留;?

    c、IP地址和端口號(hào)組成了所謂的Socket,Socket是網(wǎng)絡(luò)上運(yùn)行的程序之間雙向通信鏈路的終結(jié)點(diǎn),是TCP和UDP的基礎(chǔ)。

    ?d、常用端口號(hào)-- http: 80; ?ftp; 21; ?telnet; 23。

    ?JAVA中得網(wǎng)絡(luò)支持

    ?針對網(wǎng)絡(luò)通信的不同層次,Java提供的網(wǎng)絡(luò)功能有四大類:

    ?1、InetAddress:用于標(biāo)識(shí)網(wǎng)絡(luò)上的硬件資源。(IP地址)

    ?2、URL:統(tǒng)一資源定位符---通過URL可以直接讀取或?qū)懭刖W(wǎng)絡(luò)上得數(shù)據(jù)。?

    3、Sockets:使用TCP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信的Socket相關(guān)的類。

    ?4、Datagram:使用UDP協(xié)議,將數(shù)據(jù)保存在數(shù)據(jù)報(bào)中,通過網(wǎng)絡(luò)進(jìn)行通信。

    查看全部
  • 基于TCP的Socket通信過程

    查看全部
    0 采集 收起 來源:Socket 簡介

    2018-06-03

  • 服務(wù)器端實(shí)現(xiàn)步驟

    1.創(chuàng)建DatagramSocket,指定端口號(hào)

    2.創(chuàng)建DatagramPacket

    3.接受客戶端發(fā)送的數(shù)據(jù)信息

    4.讀取數(shù)據(jù)


    查看全部
  • 客戶端實(shí)現(xiàn)

    1.定義發(fā)送信息

    2.創(chuàng)建DatagramPacket,包含將要發(fā)送的信息

    3.創(chuàng)建DatagramSocket

    4.發(fā)送數(shù)據(jù)

    查看全部
  • Socket通信模型

    查看全部
  • UDP實(shí)現(xiàn)多線程通信

    /*UDP服務(wù)器端*/
    public?class?UDPServer?{
    ????public?static?void?main(String[]?args)?{
    ????????try?{
    ???????????//創(chuàng)建服務(wù)器端DatagramScoket,指定端口
    ???????????DatagramSocket?socket?=?new?DatagramSocket(8800);
    ???????????DatagramPacket?packet?=?null;
    ???????????byte[]?data?=?null;
    ???????????//記錄客戶端的數(shù)量
    ???????????int?count?=?0;
    ???????????System.out.println("服務(wù)器端已經(jīng)啟動(dòng),等待客戶端發(fā)送數(shù)據(jù)");
    ???????????while(true){
    ???????????????data?=?new?byte[1024];//?創(chuàng)建字節(jié)數(shù)組,指定接受的數(shù)據(jù)報(bào)的大小
    ???????????????packet?=?new?DatagramPacket(data,?data.length);
    ???????????????socket.receive(packet);
    ???????????????UDPServerThread?udpServerThread=new?UDPServerThread(socket,packet);
    ???????????????udpServerThread.start();
    ???????????????count++;//統(tǒng)計(jì)客戶端的數(shù)量
    ???????????????System.out.println("客戶端的數(shù)量:"+count);
    ???????????}
    ???????}?catch?(SocketException?e)?{
    ???????????e.printStackTrace();
    ???????}?catch?(IOException?e)?{
    ???????????e.printStackTrace();
    ???????}
    ???}
    }
    /*UDP服務(wù)器線程處理類*/
    public?class?UDPServerThread?extends?Thread?{
    ?????//?和本線程相關(guān)的Socket
    ?????DatagramSocket?socket?=?null;
    ?????DatagramPacket?packet?=?null;?
    ?????public?UDPServerThread(DatagramSocket?socket,DatagramPacket?packet)?{??
    ?????????this.socket?=?socket;??
    ?????????this.packet?=?packet;?
    ?????}?
    ?
    ?????//?線程執(zhí)行的操作,響應(yīng)客戶端的請求?
    ?????public?void?run()?{??
    ?????????String?info?=?null;??
    ?????????InetAddress?address?=?null;??
    ?????????DatagramPacket?packet2?=?null;??
    ?????????byte[]?data2?=?null;??
    ?????????int?port?=?8800;??
    ?????????try?{???
    ?????????????//接收客戶端發(fā)送的數(shù)據(jù)???
    ?????????????//?讀取數(shù)據(jù)???
    ?????????????info?=?new?String(packet.getData(),?0,?packet.getLength());???
    ?????????????System.out.println("我是服務(wù)器,客戶端說:"?+?info);???
    ?????????
    ?????????????//向客戶端響應(yīng)數(shù)據(jù)??
    ?????????????//?定義客戶端的地址、端口號(hào)、數(shù)據(jù)???
    ?????????????address?=?packet.getAddress();???
    ?????????????port?=?packet.getPort();???
    ?????????????data2?=?"歡迎你!".getBytes();???
    ?????????????//?創(chuàng)建數(shù)據(jù)報(bào),包含響應(yīng)的數(shù)據(jù)信息???
    ?????????????packet2?=?new?DatagramPacket(data2,?data2.length,?address,?port);???
    ?????????????//?響應(yīng)客戶端???
    ?????????????socket.send(packet2);??
    ?????????????}?catch?(SocketException?e)?{???
    ?????????????????e.printStackTrace();??
    ?????????}?catch?(IOException?e)?{???
    ?????????????e.printStackTrace();??
    ?????????}?finally?{???
    ?????????????//?4.關(guān)閉資源???
    ?????????????if?(socket?==?null)????
    ?????????????????socket.close();??
    ?????????}?
    ?????}
    }
    /*UDP客戶端*/
    public?class?UDPClient?{
    ????public?static?void?main(String[]?args)?{
    ????????try?{
    ???????????//向服務(wù)器端發(fā)送數(shù)據(jù)
    ???????????//1.定義服務(wù)器的地址、端口號(hào)、數(shù)據(jù)
    ???????????InetAddress?address?=?InetAddress.getByName("localhost");
    ???????????int?port?=?8800;
    ???????????byte[]?data?=?"用戶名:admin;密碼:123".getBytes();
    ???????????//2.創(chuàng)建數(shù)據(jù)報(bào),包含發(fā)送的數(shù)據(jù)信息
    ???????????DatagramPacket?packet=new?DatagramPacket(data,data.length,address,port);
    ???????????//3.創(chuàng)建DatagramSocket對象
    ???????????DatagramSocket?socket?=?new?DatagramSocket();
    ???????????//4.向服務(wù)器端發(fā)送數(shù)據(jù)報(bào)
    ???????????socket.send(packet);
    ???
    ???????????//接收服務(wù)器端響應(yīng)的數(shù)據(jù)
    ???????????//1.創(chuàng)建數(shù)據(jù)報(bào),用于接收服務(wù)器端響應(yīng)的數(shù)據(jù)
    ???????????byte[]?data2?=?new?byte[1024];
    ???????????DatagramPacket?packet2?=?new?DatagramPacket(data2,?data2.length);
    ???????????//2.接收服務(wù)器響應(yīng)的數(shù)據(jù)
    ???????????socket.receive(packet2);
    ???????????//3.讀取數(shù)據(jù)
    ???????????String?reply?=?new?String(data2,0,packet2.getLength());
    ???????????System.out.println("我是客戶端,服務(wù)器端說:"+reply);
    ???????????//4.關(guān)閉資源
    ???????????socket.close();
    ???????}?catch?(UnknownHostException?e)?{
    ???????????e.printStackTrace();
    ???????}?catch?(SocketException?e)?{
    ???????????e.printStackTrace();
    ???????}?catch?(IOException?e)?{
    ???????????e.printStackTrace();
    ???????}
    ???}
    }
    查看全部
  • 上傳文件的業(yè)務(wù)分析

    查看全部
  • 如何實(shí)現(xiàn)發(fā)送文件?
    客戶端:
    * 新建文件字節(jié)輸入流
    * 循環(huán)將輸入流寫入到發(fā)送的輸出流中

    Socket?socket=new?Socket("localhost",?8881);
    OutputStream?os=socket.getOutputStream();
    		
    File?file=new?File("e:/Table.java");
    FileInputStream?fs=new?FileInputStream(file);
    byte[]?data=new?byte[1024*4];
    int?length;
    while((length=fs.read(data))!=-1){
    ????os.write(data,?0,?length);
    ????os.flush();
    }
    socket.shutdownOutput();
    socket.close();
    os.close();
    fs.close();

    服務(wù)器端:
    * 新建文件字節(jié)輸出流
    * 循環(huán)將接收到輸入流寫入到文件字符輸出流

    ServerSocket?server?=new?ServerSocket(8881);
    Socket??socket=server.accept();
    InputStream?is=socket.getInputStream();
    File?file=new?File("e:/153.java");
    FileOutputStream?fs=new?FileOutputStream(file);
    byte[]?data=new?byte[1024*4];
    int?length;
    while((length=is.read(data))!=-1){
    	fs.write(data,?0,?length);
    	fs.flush();
    }
    socket.shutdownInput();
    server.close();
    socket.close();
    is.close();
    fs.close();
    查看全部
  • socket總結(jié)

    查看全部
    0 采集 收起 來源:Socket 總結(jié)

    2018-05-23

舉報(bào)

0/150
提交
取消
課程須知
本課程是 Java 開發(fā)課程的高級(jí)課程,需要對 Java 中的面向?qū)ο蟆O、多線程,以及網(wǎng)絡(luò)相關(guān)知識(shí)有一定的基礎(chǔ)
老師告訴你能學(xué)到什么?
1、網(wǎng)絡(luò)相關(guān)的基礎(chǔ)知識(shí) 2、Java 中網(wǎng)絡(luò)相關(guān) API 的應(yīng)用 3、實(shí)現(xiàn)基于 TCP 的 Socket 編程 4、實(shí)現(xiàn)基于 UDP 的 Socket 編程

微信掃碼,參與3人拼團(tuán)

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!