拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 通过UDP多执行绪连麦,演唱小伴龙儿歌:圣诞快乐

通过UDP多执行绪连麦,演唱小伴龙儿歌:圣诞快乐

白鹭 - 2022-01-24 2101 0 0

目录

    • 一、2021年终总结
      • 1、CSDN第二季新星计划导师
      • 2、哪咤社区发起人
      • 3、[加入哪咤社区,学习打卡,根本停不下来](https://bbs.csdn.net/forums/nezha)
    • 二、如何学习Java
      • 1、基础不牢,地动山摇
      • 2、[Java基础教程系列](https://blog.csdn.net/guorui_java/category_11276743.html)
      • 3、Java基础思维导图
      • 4、我也想加入,通过UDP手写一个在线咨询,问问哪咤大佬吧,
    • 三、UDP实作多执行绪在线咨询
      • 1、发送端
      • 2、接收端
      • 3、ipidea
      • 4、哪咤
    • 四、投之以桃报之以李
      • 1、哪咤送你一首《小伴龙儿歌:圣诞快乐》
      • 2、获取《小伴龙儿歌:圣诞快乐》地址
      • 3、代码实体
      • 4、下载到本地
      • 5、本地播放
    • 五、随便下载有风险吗?
      • 1、如何解决?
      • 2、ipidea简介
      • 3、ipidea生成api链接,复制链接即可应用
      • 4、生成代理ip操作使用方式
    • 六、2022,美好愿景
      • 1、出版黑皮书
      • 2、哪咤社区的奋斗目标
      • 3、①②③④群全部满员,⑤群正在火热招募中,
    • 七、哪咤社区

一、2021年终总结

在这里插入图片描述

1、CSDN第二季新星计划导师

在这里插入图片描述

2、哪咤社区发起人

在这里插入图片描述
努力的小伙伴都在打卡学习、有每日寂寞打卡、每日读书打卡、每日视频打卡等等等,你还不加入学习吗?
打卡100天,不成神便成魔,

3、加入哪咤社区,学习打卡,根本停不下来

在这里插入图片描述

二、如何学习Java

1、基础不牢,地动山摇

稳扎稳打,一步一个脚印,坚持在CSDN写博客,持续输出,完美日更,
在这里插入图片描述

2、Java基础教程系列

在这里插入图片描述

3、Java基础思维导图

在这里插入图片描述

4、我也想加入,通过UDP手写一个在线咨询,问问哪咤大佬吧,

三、UDP实作多执行绪在线咨询

1、发送端

package com.guor.ipidea;

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.guor.ipidea;

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、ipidea

package com.guor.ipidea;

public class IpIdea {
    public static void main(String[] args) {
        new Thread(new TalkSend(7777,"localhost",9999)).start();
        new Thread(new TalkReceive(8888,"哪咤")).start();
    }
}


4、哪咤

package com.guor.ipidea;

public class Nezha {
    public static void main(String[] args) {
        new Thread(new TalkSend(5555,"localhost",8888)).start();
        new Thread(new TalkReceive(9999,"ipidea")).start();
    }
}

在这里插入图片描述

四、投之以桃报之以李

1、哪咤送你一首《小伴龙儿歌:圣诞快乐》

马上圣诞节了,小学生想听儿歌,无奈都是收费的,哪咤灵机一动,教你用用java.net.URL下载下来就能听了,

2、获取《小伴龙儿歌:圣诞快乐》地址

在这里插入图片描述

3、代码实体

package com.guor.test;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class MerryTest {
    public static void main(String[] args) throws IOException {
        URL url = new URL("https://vd2.bdstatic.com/mda-mm02j05avh9knriq/sc/cae_h264_nowatermark/1638341959033134772/mda-mm02j05avh9knriq.mp4?v_from_s=hkapp-haokan-hbe&auth_key=1639838362-0-0-0ae86199711f5fcbe20fba556a907433&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest=3000203_5&klogid=0562178188");
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        InputStream inputStream = urlConnection.getInputStream();
        FileOutputStream fileOutputStream = new FileOutputStream("圣诞快乐.mp4");
        byte[] buffer = new byte[1024];
        int len;
        while ((len=inputStream.read(buffer))!=-1){
            fileOutputStream.write(buffer,0,len);
        }
        fileOutputStream.close();
        inputStream.close();
        urlConnection.disconnect();
    }
}

4、下载到本地

在这里插入图片描述

5、本地播放

在这里插入图片描述

五、随便下载有风险吗?

1、如何解决?

因为我们在进行资料采集的时候采集的速度过快,给对方的服务器造成太大的压力,对方反向追踪,很容易找到我们,这就会导致我们的ip被封,
如果想要不在被封ip,就需要我们更换IP在进行抓取资料信息,那么该如何解决这个问题?

  • 找到一个http
  • 爬取ip
  • 验证ip有效性
  • 记录ip

2、ipidea简介

ipidea是一家海外爬虫代理商,提供海外住宅ip和海外静态ip,主要是做资料采集的业务,与多个资料采集企业保持长期的合作,它提供9000万ip资源,可以根据抓取需求自定义设定ip轮换时间,从而避免被网站阻止访问,支持账密认证和API提取两种方式提取ip资源,最重要的是支持免费测验,

全球领先的互联网大资料IP资源


在这里插入图片描述

3、ipidea生成api链接,复制链接即可应用

普匿或者透明的ip在进行测验提取ip的同时会浪费大量的时间,最后,可能还会是失效的ip,只是就可以使用代理ip,使用的方式更为的简单,不论是实用性,稳定性、安全性都可以的到保障,使用IPIDEA进行ip提取使用,
在这里插入图片描述

4、生成代理ip操作使用方式

在进行服务器维护或者是自己整的代理ip时,很多的使用在都不会进行维护,因此很多的代理ip出现,代理ip的使用相对来说比较简单,有问题可以及时的向代理商进行反馈寻找技术人员进行解决,使用爬虫都是为了快速的完成作业需求,使用代理可以节省作业时间,快速的完成作业,

六、2022,美好愿景

1、出版黑皮书

Java学习路线总结,搬砖工逆袭Java架构师

《搬砖工逆袭Java架构师》也在努力赶稿中,属于哪咤的第一本黑皮书半年后将与各位见面,拭目以待,

2、哪咤社区的奋斗目标

  1. 引领1000个小伙伴,成为万粉博主;
  2. 引领100个小伙伴出版属于自己的黑皮书;
  3. 引领10个小伙伴实作财务自由的梦想;


    在这里插入图片描述

3、①②③④群全部满员,⑤群正在火热招募中,

在这里插入图片描述

七、哪咤社区

  1. Vue.js全家桶零基础入门到进阶项目实战
  2. Java高并发编程指南
  3. 亿级流量Java高并发与网络编程实战
  4. Python从入门到人工智能实战
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

当你有了信心,勇气、毅力三者具备的时候,这个世界没有你做不到的,



上一篇:Java学习路线总结,搬砖工逆袭Java架构师
下一篇:Java学习路线总结(思维导图篇)


在这里插入图片描述

添加微信,备注1024,赠送Java学习路线思维导图
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *