public void run() {
// TODO Auto-generated method stub
while( true ) {
String msg ;
try {
msg = reader.readLine();
byte[] dates = msg.getBytes();
// 3.封装成 DatagramPacket 包裹 指定目的地 即Ip地址和端口
DatagramPacket packet = new DatagramPacket(dates, 0,dates.length,
new InetSocketAddress(this.toIP,this.toport));
// 4.发送包裹 send(DatagramPacket p)
client.send(packet);
if(msg.equals(“bye”)) {
break;
}
}catch( IOException e ) {
e.printStackTrace();
}
}
client.close();
}
}
2:接受端类的实现
package com.wyj.three;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
/**
-
接收端
-
@author 86155
*/
public class Demo11_talk接收端02 implements Runnable{
DatagramSocket server;
public Demo11_talk接收端02(int port) {
try {
server = new DatagramSocket(port);
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
byte [] container = new byte[1024*60];
DatagramPacket packet = new DatagramPacket(container,container.length);
// 3.阻塞式接受包裹 receive(DatagramPacket p)
try {
server.receive(packet);//会有延迟
byte[] dates = packet.getData();
int len = packet.getLength();//得用packet的实际大小
String date = new String(dates,0,len);
System.out.println(date);
if( date.equals(“bye”)) {
break;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//释放资源
server.close();
}
}
3:具体的实现(老师与学生的交流)
package com.wyj.three;
/**
-
实现相互交流吧
-
@author 86155
*/
public class Demo1_student {
public static void main(String[] args) {
new Thread(new Demo11_talk接收端02(9998)).start();//接受
new Thread(new Demo12_talk发送02(5555, 9997, “localhost”)).start();//发送
}
}
最后
为什么我不完全主张自学?
①平台上的大牛基本上都有很多年的工作经验了,你有没有想过之前行业的门槛是什么样的,现在行业门槛是什么样的?以前企业对于程序员能力要求没有这么高,甚至十多年前你只要会写个“Hello World”,你都可以入门这个行业,所以以前要入门是完全可以入门的。
②现在也有一些优秀的年轻大牛,他们或许也是自学成才,但是他们一定是具备优秀的学习能力,优秀的自我管理能力(时间管理,静心坚持等方面)以及善于发现问题并总结问题。
如果说你认为你的目标十分明确,能做到第②点所说的几个点,以目前的市场来看,你才真正的适合去自学。
除此之外,对于绝大部分人来说,报班一定是最好的一种快速成长的方式。但是有个问题,现在市场上的培训机构质量参差不齐,如果你没有找准一个好的培训班,完全是浪费精力,时间以及金钱,这个需要自己去甄别选择。
我个人建议线上比线下的性价比更高,线下培训价格基本上没2W是下不来的,线上教育现在比较成熟了,此次疫情期间,学生基本上都感受过线上的学习模式。相比线下而言,线上的优势以我的了解主要是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。
应该学哪些技术才能达到企业的要求?(下图总结)
是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。
应该学哪些技术才能达到企业的要求?(下图总结)
[外链图片转存中…(img-Nssgwpjv-1714370874740)]
[外链图片转存中…(img-Nq9c0l0A-1714370874741)]