第七色在线视频,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 邏輯清晰
  • java的網(wǎng)絡(luò)支持

    查看全部
  • socket通信實(shí)現(xiàn)步驟

    查看全部
    0 采集 收起 來(lái)源:Socket 簡(jiǎn)介

    2018-08-15

  • socket通信模型

    查看全部
    0 采集 收起 來(lái)源:Socket 簡(jiǎn)介

    2018-08-15

  • socket通信

    查看全部
    0 采集 收起 來(lái)源:Socket 簡(jiǎn)介

    2018-08-15

  • TCP/IP模型

    查看全部
  • 基于UDP的多線程登陸
    /**
    *?服務(wù)器端,實(shí)現(xiàn)基于UDP的用戶登錄?
    *?@author?Strawberry?
    *
    */
    public?class?Test006_UDPServer?{	
    ????public?static?void?main(String[]?args)?throws?IOException?{
    ????//創(chuàng)建服務(wù)器DatagramSocket,并指定端口		
    ????DatagramSocket?datagramSocket=new?DatagramSocket(8800);		
    ????//創(chuàng)建數(shù)據(jù)報(bào),用于接收客戶端信息		
    ????byte[]?data=new?byte[1024];		
    ????int?count=0;		
    ????System.out.println("***Server?start,?waiting?data?from?client..***");		
    ????//開(kāi)始接收客戶端信息		
    ???????while(true){			
    ??????????DatagramPacket?datagramPacket=new?DatagramPacket(data,?data.length);			
    ??????????datagramSocket.receive(datagramPacket);//此方法在接收到數(shù)據(jù)報(bào)之前會(huì)一直阻塞			
    ??????????Test006_ServerThread?serverThread=new?Test006_ServerThread(datagramSocket,?datagramPacket);			
    ??????????serverThread.start();			
    ??????????count++;			
    ??????????System.out.println("client?connected:"+count);			
    ??????????serverThread.sendData();		
    ???????}				
    ???//關(guān)閉資源
    ???//datagramSocket.close();	
    ??}
    }
    /**?
    *??線程處理類?
    *?@author?Strawberry?
    *?
    */
    public?class?Test006_ServerThread?extends?Thread{	
    ??DatagramSocket?datagramSocket=null;	
    ??DatagramPacket?datagramPacket=null;		
    ??
    ??public?Test006_ServerThread(DatagramSocket?datagramSocket,DatagramPacket?datagramPacket){				
    ??????this.datagramSocket=datagramSocket;		
    ??????this.datagramPacket=datagramPacket;	
    ??}	
    ??
    ??public?void?run(){			
    ??????//接收客戶端信息			
    ??????byte[]?data=datagramPacket.getData();			
    ??????String?info=new?String(data,?0,?datagramPacket.getLength());			
    ??????System.out.println("[Info?from?client]:???"+info);	
    ??}	
    ??????
    ??public?void?sendData(){		
    ???????//響應(yīng)客戶端信息		
    ??????try?{			
    ??????????InetAddress?address=datagramPacket.getAddress();			
    ??????????int?port=datagramPacket.getPort();			
    ??????????String?info2="Login?Success!";			
    ??????????byte[]?data2=info2.getBytes();			
    ??????????DatagramPacket?datagramPacket2=new?DatagramPacket(data2,?data2.length,?address,?port);			
    ??????????datagramSocket.send(datagramPacket2);		
    ??????}?catch?(IOException?e)?{			
    ??????????//?TODO?Auto-generated?catch?block			
    ??????????e.printStackTrace();		
    ??????}	
    ??}
    }


    查看全部
  • TCP/IP模型

    查看全部
  • Socket總結(jié):

    Socket通信原理? 基于TCP的Socket通信

    經(jīng)驗(yàn)與技巧:

    多線程的優(yōu)先級(jí)/是否關(guān)閉輸出流和輸入流/使用TCP通信傳輸對(duì)象/socke編程傳遞文件

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

    2018-08-02

  • 基于UDP客戶端實(shí)現(xiàn):

    //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對(duì)象

    DatagramSocket socket=new DatagramSocket();

    //4、向服務(wù)器端發(fā)送數(shù)據(jù)報(bào)

    socket.send(packet);


    查看全部
  • 服務(wù)器端實(shí)現(xiàn)步驟:

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

    2、創(chuàng)建DatagramPacket

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

    4、讀取信息

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

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

    2、創(chuàng)建DatagramPacket包含需發(fā)送的信息

    3、創(chuàng)建DatagramSocket

    4、發(fā)送信息

    服務(wù)器端實(shí)現(xiàn):

    //1、創(chuàng)建服務(wù)器端DatagramSocket,指定端口

    DatagramSocket socket=new DatagramSocket(8888);

    //2、創(chuàng)建數(shù)據(jù)報(bào),用于接收客戶端發(fā)送的數(shù)據(jù)

    byte[] data=new byte[1024];//創(chuàng)建字節(jié)數(shù)組,指定接受的數(shù)據(jù)包的大小

    DatagramPacket packet=new DatagramPacket(data,data.length);

    //3、接收客戶端發(fā)送的數(shù)據(jù)

    socket.receive(packet);//此方法在接收到數(shù)據(jù)包之前會(huì)一直阻塞

    //4、讀取數(shù)據(jù)

    String info=new String(data,0,packet.getLength());

    System.out.println("我是服務(wù)器,客戶端發(fā)送信息:"+info);


    查看全部
  • UDP協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)是無(wú)連接、不可靠、無(wú)序的

    UDP協(xié)議以數(shù)據(jù)報(bào)作為數(shù)據(jù)傳輸載體。進(jìn)行數(shù)據(jù)傳輸時(shí),首先需要將要傳輸?shù)臄?shù)據(jù)定義成數(shù)據(jù)報(bào)(Datagram),在數(shù)據(jù)報(bào)中指明數(shù)據(jù)所要達(dá)到的Socket(主機(jī)地址和端口號(hào)),然后再將數(shù)據(jù)報(bào)發(fā)送出去

    DatagramPacket:表示數(shù)據(jù)報(bào)包

    DatagramSocket:進(jìn)行端到端通信的類


    查看全部
    0 采集 收起 來(lái)源: DatagramPacket

    2018-08-02

  • 多線程實(shí)現(xiàn)多客戶端的通信:

    創(chuàng)建服務(wù)器線程處理類,傳遞監(jiān)聽(tīng)到的客戶端Socket,重寫(xiě)run()方法實(shí)現(xiàn)讀取客戶端信息并反饋客戶端

    //在服務(wù)端中循環(huán)監(jiān)聽(tīng)等待客戶端的連接實(shí)現(xiàn)多線程

    while(true) {

    //調(diào)用accept()監(jiān)聽(tīng),等待客戶端的連接

    socket=serverSocket.accept();

    //創(chuàng)建一個(gè)新的線程

    ServerThread serverThread=new ServerThread(socket);

    //啟動(dòng)線程

    serverThread.start();

    count++;

    System.out.println("客戶端數(shù)量為:"+count);

    InetAddress address=socket.getInetAddress();

    System.out.println("客戶端ip地址為:"+address.getHostAddress());

    }


    查看全部
  • 服務(wù)器響應(yīng)客戶端:

    //獲取輸出流響應(yīng)客戶端請(qǐng)求

    OutputStream os=socket.getOutputStream();

    PrintWriter pw=new PrintWriter(os);//包裝成打印流

    pw.println("登陸成功");

    pw.flush();//調(diào)用flush()方法將緩沖輸出

    //獲取輸入流,讀取服務(wù)端的相應(yīng)信息

    InputStream is=socket.getInputStream();

    BufferedReader br=new BufferedReader(new InputStreamReader(is));

    String info=null;

    while((info=br.readLine())!=null) {

    System.out.println("服務(wù)器反饋:"+info);

    }


    查看全部
  • 客戶端:

    //1、創(chuàng)建客戶端Socket,指定服務(wù)器地址和端口

    try {

    Socket socket=new Socket("localhost",8888);

    //2、獲取輸出流,向服務(wù)端發(fā)送信息

    OutputStream os=socket.getOutputStream();//字節(jié)輸出流

    PrintWriter pw=new PrintWriter(os);//將輸出流包裝為打印流

    pw.write("用戶名:admin;密碼:123");

    pw.flush();

    socket.shutdownOutput();

    //3、關(guān)閉資源

    pw.close();

    os.close();

    socket.close();


    查看全部
  • 服務(wù)端:

    //1、創(chuàng)建一個(gè)服務(wù)器端Socket,即ServerSocket,指定綁定的端口,并監(jiān)聽(tīng)此端口

    try {

    ServerSocket serverSocket=new ServerSocket(8888);

    //2、調(diào)用accept()方法開(kāi)始監(jiān)聽(tīng),等待客戶端的連接

    System.out.println("? 服務(wù)器即將啟動(dòng),等待客戶端連接? ? ");

    Socket socket=serverSocket.accept();

    //3、獲取輸入流,并讀取客戶端信息

    InputStream is=socket.getInputStream();

    InputStreamReader isr=new InputStreamReader(is);

    BufferedReader br=new BufferedReader(isr);

    String info=null;

    while((info=br.readLine())!=null) {

    System.out.println("我是服務(wù)器,客戶端傳遞信息:"+info);

    }

    socket.shutdownInput();

    //4、關(guān)閉服務(wù)器端

    is.close();

    isr.close();

    br.close();

    serverSocket.close();


    查看全部

舉報(bào)

0/150
提交
取消
課程須知
本課程是 Java 開(kāi)發(fā)課程的高級(jí)課程,需要對(duì) Java 中的面向?qū)ο?、IO、多線程,以及網(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)

微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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

友情提示:

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