Java100例教程|UDP网络基础知识简介

作者简介:CSDN2021博客之星亚军、新星计划导师?、博客专家


【Java100例教程|UDP网络基础知识简介】 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师


关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、大厂面试真题、加入万粉计划交流群、一起学习进步

目录
    • 一、2021年终总结
      • 1、CSDN第二季新星计划导师
      • 2、哪吒社区发起人
      • 3、加入哪吒社区,学习打卡,根本停不下来
    • 二、如何学习Java
      • 1、基础不牢,地动山摇
      • 2、Java基础思维导图
    • 三、UDP实现多线程在线咨询
      • 1、发送端
      • 2、接收端
      • 3、ipidea
      • 4、哪吒
    • 四、投之以桃报之以李
      • 1、哪吒送你一首《小伴龙儿歌:圣诞快乐》
      • 2、获取《小伴龙儿歌:圣诞快乐》地址
      • 3、代码实例
      • 4、下载到本地
      • 5、本地播放
    • 五、随便下载有风险吗?
      • 1、如何解决?
      • 2、ipidea简介
      • 3、ipidea生成api链接,复制链接即可应用
      • 4、生成代理ip操作使用方式

一、2021年终总结 Java100例教程|UDP网络基础知识简介
文章图片

1、CSDN第二季新星计划导师
Java100例教程|UDP网络基础知识简介
文章图片

2、哪吒社区发起人
Java100例教程|UDP网络基础知识简介
文章图片

努力的小伙伴都在打卡学习、有每日寂寞打卡、每日读书打卡、每日视频打卡等等等,你还不加入学习吗?
打卡100天,不成神便成魔。
3、加入哪吒社区,学习打卡,根本停不下来
Java100例教程|UDP网络基础知识简介
文章图片

二、如何学习Java 1、基础不牢,地动山摇
稳扎稳打,一步一个脚印,坚持在CSDN写博客,持续输出,完美日更。
Java100例教程|UDP网络基础知识简介
文章图片

2、Java基础思维导图

三、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 = https://www.it610.com/article/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 = https://www.it610.com/article/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(); } }

Java100例教程|UDP网络基础知识简介
文章图片

四、投之以桃报之以李 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、下载到本地
Java100例教程|UDP网络基础知识简介
文章图片

5、本地播放

五、随便下载有风险吗? 1、如何解决?
因为我们在进行数据采集的时候采集的速度过快,给对方的服务器造成太大的压力,对方反向追踪,很容易找到我们,这就会导致我们的ip被封。
如果想要不在被封ip,就需要我们更换IP在进行抓取数据信息。那么该如何解决这个问题?
  • 找到一个http
  • 爬取ip
  • 验证ip有效性
  • 记录ip
2、ipidea简介
ipidea是一家海外爬虫代理商,提供海外住宅ip和海外静态ip,主要是做数据采集的业务,与多个数据采集企业保持长期的合作。它提供9000万ip资源,可以根据抓取需求自定义设置ip轮换时间,从而避免被网站阻止访问。支持账密认证和API提取两种方式提取ip资源,最重要的是支持免费测试。
全球领先的互联网大数据IP资源

Java100例教程|UDP网络基础知识简介
文章图片

3、ipidea生成api链接,复制链接即可应用
普匿或者透明的ip在进行测试提取ip的同时会浪费大量的时间,最后,可能还会是失效的ip。只是就可以使用代理ip,使用的方式更为的简单,不论是实用性,稳定性、安全性都可以的到保障。使用IPIDEA进行ip提取使用。
Java100例教程|UDP网络基础知识简介
文章图片

4、生成代理ip操作使用方式
在进行服务器维护或者是自己整的代理ip时,很多的使用在都不会进行维护,因此很多的代理ip出现,代理ip的使用相对来说比较简单,有问题可以及时的向代理商进行反馈寻找技术人员进行解决。使用爬虫都是为了快速的完成工作需求,使用代理可以节省工作时间,快速的完成工作。
作者简介:CSDN2021博客之星亚军、新星计划导师?、博客专家


哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师


关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、大厂面试真题、加入万粉计划交流群、一起学习进步
Java100例教程|UDP网络基础知识简介
文章图片

关注公众号,回复1024,获取Java学习路线思维导图、加入万粉计划交流群

    推荐阅读