亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java Socket應用---通信是這樣練成的

難度初級
時長 2小時 0分
學習人數
綜合評分9.77
496人評價 查看評價
9.9 內容實用
9.8 簡潔易懂
9.6 邏輯清晰
  • 限于個人能力,沒有能實現服務器端的多線程。

    注冊、登錄、上傳文件到數據庫的功能基本都實現了。

    源代碼:

    https://pan.baidu.com/s/1TahTLXp2STzADhuehOMX5Q?pwd=13e5?

    查看全部
  • 基于UDP的Socket通信實現多線程:

    /**
    *服務器端
    */
    package?com.imooc.UDPTest;
    
    import?java.io.IOException;
    import?java.net.DatagramPacket;
    import?java.net.DatagramSocket;
    import?java.net.InetAddress;
    
    public?class?Server?{
    ????public?static?void?main(String[]?args)?throws?IOException?{
    ????????//創建服務器端DatagramSocket,指定端口
    ????????DatagramSocket?socket=new?DatagramSocket(8800);
    ????????byte[]?data=new?byte[1024];
    ????????DatagramPacket?packet=new?DatagramPacket(data,data.length);
    ????????System.out.println("服務器端已經啟動,等待客戶端發送數據");
    ????????int?count=0;
    ????????while?(true){
    ????????????socket.receive(packet);//此方法在接收到數據包之前會一直堵塞
    ????????????Thread?serverThread=new?ServerThread(socket,packet,data);
    ????????????serverThread.start();
    ????????????InetAddress?address=packet.getAddress();
    ????????????System.out.println("當前客戶端IP:"+address.getHostAddress());
    ????????????count++;
    ????????????System.out.println("當前客戶端數量:"+count);
    ????????}
    
    ????}
    }
    /**
    *服務器線程處理類
    */
    package?com.imooc.UDPTest;
    
    import?java.io.IOException;
    import?java.net.DatagramPacket;
    import?java.net.DatagramSocket;
    import?java.net.InetAddress;
    
    
    public?class?ServerThread?extends?Thread{
    ????DatagramSocket?socket=null;
    ????DatagramPacket?packet=null;
    ????byte[]?data=null;
    ????public?ServerThread(DatagramSocket?socket,DatagramPacket?packet,byte[]?data){
    ????????this.socket=socket;
    ????????this.packet=packet;
    ????????this.data=data;
    ????}
    ????public?void?run()?{
    ????????String?info=new?String(data,0,packet.getLength());
    ????????System.out.println("我是服務器,客戶端說:"+info);
    ????????InetAddress?address=packet.getAddress();
    ????????int?port=packet.getPort();
    ????????data="歡迎您".getBytes();
    ????????packet=new?DatagramPacket(data,data.length,address,port);
    ????????try?{
    ????????????socket.send(packet);
    ????????}?catch?(IOException?e)?{
    ????????????e.printStackTrace();
    ????????}
    
    
    ????}
    
    }
    /**
    *客戶端
    */
    package?com.imooc.UDPTest;
    
    import?java.io.IOException;
    import?java.net.DatagramPacket;
    import?java.net.DatagramSocket;
    import?java.net.InetAddress;
    
    public?class?Client?{
    ????public?static?void?main(String[]?args)?throws?IOException?{
    ????????//定義服務器的地址、端口號、數據
    ????????InetAddress?address=InetAddress.getByName("DESKTOP-M8K8E0E");
    ????????int?port=8800;
    ????????byte[]?data="用戶名:admin;密碼:123".getBytes();
    ????????//創建數據報,包含發送的數據信息
    ????????DatagramPacket?packet=new?DatagramPacket(data,data.length,address,port);
    ????????//創建DatagramSocket對象
    ????????DatagramSocket?socket=new?DatagramSocket();
    ????????socket.send(packet);
    
    ????????byte[]?data1=new?byte[1024];
    ????????DatagramPacket?packet1=new?DatagramPacket(data1,data1.length);
    ????????socket.receive(packet1);
    ????????String?info=new?String(data1,0,packet1.getLength());
    ????????System.out.println("我是客戶端,服務器說:"+info);
    ????????socket.close();
    
    ????}
    }
    查看全部
  • 不錯,項目思路清晰
    查看全部
  • ?對象

    查看全部
    0 采集 收起 來源:Socket 總結

    2021-12-12

  • ?

    傳輸對象

    查看全部
    0 采集 收起 來源:Socket 總結

    2021-12-12

  • 傳遞

    查看全部
    0 采集 收起 來源:Socket 總結

    2021-12-12

  • 傳遞文件

    查看全部
    0 采集 收起 來源:Socket 總結

    2021-12-12

  • http://img1.sycdn.imooc.com//61834e38000163be08120429.jpg四大類

    查看全部
    0 采集 收起 來源:網絡基礎簡介

    2021-11-04

  • http://img1.sycdn.imooc.com//61834dd60001f3c413150705.jpgip地址和端口號組成了scoket

    查看全部
    0 采集 收起 來源:網絡基礎簡介

    2021-11-04

  • http://img1.sycdn.imooc.com//61834cdb00013a5007020487.jpghttp超文件傳輸協議

    查看全部
    0 采集 收起 來源:網絡基礎簡介

    2021-11-04

  • 兩臺計算機要想能夠進行 通信,需要滿足一些必要的條件

    1. 唯一的標識:ip;用來標識自己的身份以及自己所處的地址

    2. 需要共同的語言;即協議

    3. 相應的端口號:每個主機上可以運行多個應用程序,使用端口號來決定與哪個應用進行通信

    TCP/IP是目前世界上使用最為廣泛的協議

    1. ????TCP(Transmission Control Protocol)傳輸控制協議

    2. ????IP:Internet Protocol 互聯網協議


    查看全部
    0 采集 收起 來源:網絡基礎簡介

    2021-10-21

  • 該套課程重點知識

    查看全部
    0 采集 收起 來源:Socket 總結

    2021-08-16

  • UDP的兩個編程主要類

    查看全部
    0 采集 收起 來源: DatagramPacket

    2021-08-16

  • socket多客戶端通信

    查看全部
  • socket 通信模型和實現步驟

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

    2021-08-13

  • socket過程中要考慮優先級,這影響到運行效率
    查看全部
    0 采集 收起 來源:Socket 總結

    2021-06-21

  • 多線程通信
    查看全部
首頁上一頁1234567下一頁尾頁

舉報

0/150
提交
取消
課程須知
本課程是 Java 開發課程的高級課程,需要對 Java 中的面向對象、IO、多線程,以及網絡相關知識有一定的基礎
老師告訴你能學到什么?
1、網絡相關的基礎知識 2、Java 中網絡相關 API 的應用 3、實現基于 TCP 的 Socket 編程 4、實現基于 UDP 的 Socket 編程

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!