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

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

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

難度初級(jí)
時(shí)長(zhǎng) 2小時(shí) 0分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.77
496人評(píng)價(jià) 查看評(píng)價(jià)
9.9 內(nèi)容實(shí)用
9.8 簡(jiǎn)潔易懂
9.6 邏輯清晰
  • ip地址和端口號(hào)組成了所謂的socket
    查看全部
  • 端口號(hào)用來區(qū)別一臺(tái)主機(jī)上不同應(yīng)用程序的通信。
    查看全部
  • package?com.study.socket;
    import?javax.sound.sampled.Port;
    import?java.io.IOException;
    import?java.net.*;
    /**
    ?*?UDP?Client客服端
    ?*/
    public?class?UDPClient?{
    ????public?static?void?main(String[]?args)?throws?IOException?{
    ????????//1.定義消息?服務(wù)端ip地址?端口號(hào)
    ????????String?msg?=?"用戶名:sw;密碼:123456";
    ????????InetAddress?address?=?InetAddress.getByName("DESKTOP-VQBUTGQ");
    ????????int?port?=?8000;
    ????????//2.創(chuàng)建數(shù)據(jù)報(bào)
    ????????byte[]?data?=?msg.getBytes();
    ????????DatagramPacket?packet?=?new?DatagramPacket(data,?data.length,?address?,?port?);
    ????????//3.創(chuàng)建socket
    ????????DatagramSocket?socket?=??new?DatagramSocket();
    ????????//4.發(fā)送消息
    ????????socket.send(packet);
    ????????//5.接收反饋信息
    ????????byte[]?data1?=?new?byte[1024];
    ????????DatagramPacket?packet1?=?new?DatagramPacket(data1?,?0?,?data1.length);
    ????????socket.receive(packet1);
    ????????String?rt?=?new?String(data1,0,packet1.getLength());
    ????????System.out.println("這是客戶端,服務(wù)端反饋信息為:?"?+?rt);
    ????????//5.釋放資源
    ????????socket.close();
    ????}
    }
    package?com.study.socket;
    
    import?java.io.IOException;
    import?java.net.DatagramPacket;
    import?java.net.DatagramSocket;
    import?java.net.InetAddress;
    import?java.net.SocketException;
    
    /**
    *?UDP?服務(wù)器端
    */
    public?class?UDPServer?{
    ???public?static?void?main(String[]?args)?{
    ???????try?{
    ???????????//1.建立socket并制定端口號(hào)
    ???????????DatagramSocket?socket?=?new?DatagramSocket(8000);
    ???????????int?num?=?0;
    ???????????while?(true){
    ???????????????UDPServerThread?thread?=?new?UDPServerThread(socket);
    ???????????????thread.setPriority(4);
    ???????????????thread.run();
    ???????????????num++;
    ???????????????System.out.println("服務(wù)器端接受了?"?+?num?+?"?個(gè)客戶端請(qǐng)求!");
    ???????????}
    ???????}?catch?(SocketException?e)?{
    ???????????e.printStackTrace();
    ???????}?catch?(IOException?e)?{
    ???????????e.printStackTrace();
    ???????}
    ???}
    }
    package?com.study.socket;
    
    import?java.io.IOException;
    import?java.net.DatagramPacket;
    import?java.net.DatagramSocket;
    import?java.net.InetAddress;
    
    /**
    *?UDP?server?多線程實(shí)現(xiàn)
    */
    public?class?UDPServerThread?extends?Thread{
    
    ???DatagramSocket?socket?=?null;
    
    ???public?UDPServerThread(DatagramSocket?socket){
    ???????this.socket?=?socket;
    ???}
    
    ???@Override
    ???public?void?run()?{
    ???????try?{
    ???????????byte[]?data?=?new?byte[1024];
    ???????????DatagramPacket?packet?=?new?DatagramPacket(data,data.length);
    ???????????//3.接收客戶端發(fā)送的數(shù)據(jù)信息
    ???????????socket.receive(packet);//此方法在接收到數(shù)據(jù)報(bào)之前一直阻塞
    ???????????//4.讀取數(shù)據(jù)報(bào)信息
    ???????????String?msg?=?new?String(data,0,packet.getLength());
    ???????????System.out.println("UDP?server服務(wù)器接收到的信息:?"?+?msg);
    ???????????//5.反饋信息
    ???????????String?rt?=?"歡迎您!";
    ???????????byte[]?data1?=?rt.getBytes();
    ???????????InetAddress?address?=?packet.getAddress();
    ???????????int?port?=?packet.getPort();
    ???????????DatagramPacket?packet1?=?new?DatagramPacket(data1,?data1.length?,?address?,?port?);
    ???????????socket.send(packet1);
    ???????}?catch?(IOException?e)?{
    ???????????e.printStackTrace();
    ???????}
    ???}
    }
    查看全部
  • package?com.study.socket;
    
    import?java.io.IOException;
    import?java.io.OutputStreamWriter;
    import?java.io.PrintWriter;
    import?java.net.Socket;
    /**
    *?socket編程模擬客服端
    */
    public?class?Client?{
    ???public?static?void?main(String[]?args)?{
    ???????//1.創(chuàng)建客戶端socket
    ???????Socket?socket?=?null;
    ???????try?{
    ???????????socket?=?new?Socket("127.0.0.1",8888);
    ???????????//2.獲取輸出流
    ???????????OutputStreamWriter?osw?=?new?OutputStreamWriter(socket.getOutputStream());
    ???????????PrintWriter?pw?=?new?PrintWriter(osw);
    ???????????pw.write("用戶名:polly;密碼:809");
    ???????????pw.flush();
    ???????????//4.釋放資源
    ???????????pw.close();
    ???????????osw.close();
    ???????????socket.close();
    ???????}?catch?(IOException?e)?{
    ???????????e.printStackTrace();
    ???????}
    ???}
    }
    package?com.study.socket;
    
    import?java.io.*;
    import?java.net.ServerSocket;
    import?java.net.Socket;
    
    /**
    *?socket編程模擬服務(wù)器端
    */
    public?class?Server?{
    
    ???public?static?void?main(String[]?args)?{
    ???????try?{
    ???????????//1.建立服務(wù)端socket
    ???????????ServerSocket?serverSocket?=?new?ServerSocket(8888);
    ???????????int?num?=?0;
    ???????????while(true){
    ???????????????//2.監(jiān)聽端口
    ???????????????Socket?socket?=?serverSocket.accept();
    ???????????????ServerThread?st?=?new?ServerThread(socket);
    ???????????????st.setPriority(4);//設(shè)置線程的優(yōu)先級(jí),范圍是【1,10】??默認(rèn)是5
    ???????????????st.start();
    ???????????????num++;
    ???????????????System.out.println("服務(wù)器端接受?"?+?num?+?"?個(gè)客戶端請(qǐng)求!");
    ???????????}
    ???????}?catch?(IOException?e)?{
    ???????????e.printStackTrace();
    ???????}
    
    ???}
    }


    package?com.study.socket;
    
    import?java.io.*;
    import?java.net.Socket;
    
    /**
    *?服務(wù)器線程實(shí)現(xiàn)
    */
    public?class?ServerThread?extends?Thread?{
    ???Socket?socket?=?null;
    
    ???public?ServerThread(Socket?socket){
    ???????this.socket?=?socket;
    ???}
    
    ???@Override
    ???public?void?run()?{
    ???????if(socket?!=?null){
    ???????????//讀取輸入流
    ???????????InputStream?is?=?null;
    ???????????InputStreamReader?isr?=?null;
    ???????????BufferedReader?br?=?null;
    ???????????OutputStreamWriter?osw?=?null;
    ???????????PrintWriter?pw?=?null;
    ???????????try?{
    ???????????????is?=?socket.getInputStream();
    ???????????????isr?=?new?InputStreamReader(is);
    ???????????????br?=?new?BufferedReader(isr);
    ???????????????System.out.println("服務(wù)器讀取客戶端信息:"?+?socket.getLocalAddress()?+?"?:?"?+
    ???????????????????????socket.getLocalPort()??+?"?"?+?br.readLine());
    ???????????????//返回響應(yīng)流
    ???????????????osw?=?new?OutputStreamWriter(socket.getOutputStream());
    ???????????????pw?=?new?PrintWriter(osw);
    ???????????????pw.write("請(qǐng)求已接到!");
    ???????????????pw.flush();
    
    ???????????}?catch?(IOException?e)?{
    ???????????????e.printStackTrace();
    ???????????}?finally?{
    ???????????????//關(guān)閉資源
    ???????????????try?{
    ???????????????????if(pw?!=?null)??pw.close();
    ???????????????????if(osw?!=?null)??osw.close();
    ???????????????????if(br?!=?null)??br.close();
    ???????????????????if(isr?!=?null)??isr.close();
    ???????????????????if(is?!=?null)??is.close();
    ???????????????????if(socket?!=?null)??socket.close();
    ???????????????}?catch?(IOException?e)?{
    ???????????????????e.printStackTrace();
    ???????????????}
    ???????????}
    ???????}
    ???}
    }
    查看全部
  • 基于udp通信:

    http://img1.sycdn.imooc.com//607d88bf0001df2706000442.jpg

    http://img1.sycdn.imooc.com//607d88e50001c42f06490390.jpg

    查看全部
  • Socket socket=serverSocket.accept();

    查看全部
    1. URL--統(tǒng)一資源定位符=協(xié)議名稱:資源名稱

    2. java.net提供URL類表示URL? ?

    1.URL類中的常用方法:

    //創(chuàng)建一個(gè)URL對(duì)象

    ? ? URL url = new URL("http://www.baidu.com");??

    ? ? URL url1 = new URL(url, "/index.html?usrname=lqq#test");

    //url的常用方法

    ? ? System.out.println("URL主機(jī)名稱:"+url1.getHost());

    ? ? System.out.println("URL協(xié)議:"+url1.getProtocol());

    ? ? System.out.println("URL端口:"+url1.getPort());

    ? ? System.out.println("URL文件路徑:"+url1.getPath());

    ? ? System.out.println("URL查詢字符串:"+url1.getQuery());

    ? ? System.out.println("URL相對(duì)路徑:"+url1.getRef());

    ? ? System.out.println("URL文件名:"+url1.getFile());? ?


    2.通過URL獲取html文件內(nèi)容:

    public static void main(String[] args) throws IOException {
    ? ?URL url=new URL("http://www.snnu.edu.cn");
    ? ?InputStream is =url.openStream();
    ? ?InputStreamReader isr=new InputStreamReader(is);
    ? ?BufferedReader bufferedReader = new BufferedReader(isr);
    ? ?String data=bufferedReader.readLine();
    ? ?while (data!=null){
    ? ? ? ?System.out.println(data);
    ? ? ? ?data=bufferedReader.readLine();
    ? ?}
    ? ?bufferedReader.close();
    ? ?isr.close();
    ? ?is.close();
    }

    查看全部
  • 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    地址、端口號(hào)、協(xié)議


    java 提供的網(wǎng)絡(luò)功能有四大類

    1. InetAddress :用于標(biāo)識(shí)網(wǎng)絡(luò)上的硬件資源

    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)行通信。

    ?

    查看全部
  • 通信模型啊


    查看全部
  • InetAddress.getLocalhost();獲取InetAddress實(shí)例

    http://img1.sycdn.imooc.com//5fec3a010001372b16400779.jpg

    查看全部
  • Socket編程

    1、網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    2、InetAddress類

    3、URL

    4、TCP編程(Socket)

    5、UDP編程(Datagram)

    IP、端口、協(xié)議(共同語言)

    tcp/ip模型?物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層

    端口號(hào)范圍0~65535,0~1023為系統(tǒng)保留

    Java網(wǎng)絡(luò)功能四大類:InetAddress、URL、Socket、Datagram


    查看全部
  • 多線程的知識(shí)點(diǎn)http://img1.sycdn.imooc.com//5fe99cb600015a4606780079.jpg

    查看全部
  • http://img1.sycdn.imooc.com//5fe99b540001c0f508100463.jpg

    Socket通信模型

    查看全部
  • 實(shí)際應(yīng)用時(shí)是以對(duì)象的形式進(jìn)行傳輸

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

    2020-11-18

  • 不必關(guān)閉輸入輸出流

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

    2020-11-18

舉報(bào)

0/150
提交
取消
課程須知
本課程是 Java 開發(fā)課程的高級(jí)課程,需要對(duì) 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ù)購買,感謝您對(duì)慕課網(wǎng)的支持!