让你的String性能提升10倍的几个秘诀,【计算机网络 15


package com.tcpip;



import java.net.DatagramPacket;

import java.net.DatagramSocket;



public class UdpServerTest {

   public static void main(String[] args) throws Exception {

       //1、开放端口

       DatagramSocket socket = new DatagramSocket(9090);

       //2、接收数据包

       byte[] buffer = new byte[1024];

       DatagramPacket packet = new DatagramPacket(buffer,0,buffer.length);

       socket.receive(packet);

       System.out.println(new String(packet.getData(),0,packet.getData().length));

       //3、关闭连接

       socket.close();

   }

} 

2、UDP发送端


package com.tcpip;



import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;



public class UdpClientTest {

    public static void main(String[] args) throws Exception {

        //1、建立一个socket

        DatagramSocket socket = new DatagramSocket();

        //2、建个包

        String msg = "UDP 测试";

        InetAddress localhost = InetAddress.getByName("localhost");

        int port  = 9090;

        DatagramPacket packet = new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,localhost,port);

        //3、发送包

        socket.send(packet);

        //4、关闭资源

        socket.close();

    }

} 

3、测试

四、UDP实现多线程在线咨询


1、发送端


package com.tcpip;



import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetSocketAddress;

import java.net.SocketException;



public class TalkSend implements Runnable {

    DatagramSocket socket = null;

    BufferedReader reader = null;

    private int fromPort;

    private String toIP;

    private int toPort;



    public TalkSend(int fromPort, String toIP, int toPort) {

        this.fromPort = fromPort;

        this.toIP = toIP;

        this.toPort = toPort;



        try {

            socket = new DatagramSocket(fromPort);

            reader = new BufferedReader(new InputStreamReader(System.in));

        } catch (SocketException e) {

            e.printStackTrace();

        }

    }



    @Override

    public void run() {

        while (true){

            String data = null;

            try {

                data = reader.readLine();

                byte[] datas = data.getBytes();

                DatagramPacket packet = new DatagramPacket(datas,0,datas.length,new InetSocketAddress(this.toIP,this.toPort));

                socket.send(packet);

                if(data.equals("bye")){

                    break;

                }

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

        socket.close();

    }

} 

2、接收端


package com.tcpip;



import java.io.IOException;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.SocketException;



public class TalkReceive implements Runnable{

    DatagramSocket socket = null;

    private int port;

    private String msgFrom;



    public TalkReceive(int port, String msgFrom) {

        this.port = port;

        this.msgFrom = msgFrom;



        try {

            socket = new DatagramSocket(port);

        } catch (SocketException e) {

            e.printStackTrace();

        }

    }



    @Override

    public void run() {

        while (true){

           try {

               //准备接收包裹

               byte[] container = new byte[1024];

               DatagramPacket packet = new DatagramPacket(container,0,container.length);

               //阻塞式接收包裹

               socket.receive(packet);

               //断开连接bye

               byte[] data = packet.getData();

               String receiveData = new String(data,0,data.length);

               System.out.println(msgFrom + ":" + receiveData);

               if(receiveData.equals("bye")){

                   break;

               }

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

        socket.close();

    }

} 

3、学生


package com.tcpip;



public class TalkStudent {

    public static void main(String[] args) {

        new Thread(new TalkSend(7777,"localhost",9999)).start();

        new Thread(new TalkReceive(8888,"老师")).start();

    }

} 

4、老师


package com.tcpip;



public class TalkTeacher {

    public static void main(String[] args) {

        new Thread(new TalkSend(5555,"localhost",8888)).start();

        new Thread(new TalkReceive(9999,"学生")).start();

    }

} 

5、开始聊天啦,模拟请假

五、Java下载URL网络资源(图片、音乐、视频、电影)


一、前言

今天学习了一下FTP/IP的相关知识,发现一个强大的功能,用Java下载URL网络资源,据说收费的也能下! 学编程真好,Java真好。

二、代码实例


package com.tcpip;



import java.io.FileOutputStream;

import java.io.InputStream;


# 最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

如果你需要这份完整版的**面试笔记**,只需你多多**支持**我这篇文章。

**——对文章进行点赞+评论,关注我,[然后再点击这里免费领取](https://gitee.com/vip204888/java-p7)**

![](https://img-blog.csdnimg.cn/img_convert/5d69927f4f70184c79ef38a8e174fa0f.png)

真好。



### 二、代码实例



package com.tcpip;

import java.io.FileOutputStream;

import java.io.InputStream;

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

如果你需要这份完整版的面试笔记,只需你多多支持我这篇文章。

——对文章进行点赞+评论,关注我,然后再点击这里免费领取

[外链图片转存中…(img-oYHdecFj-1628235961763)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值