【java基础知识】网络编程入门 & lambda表达式

InetAddress

InetAddress inetAddress = InetAddress.getByName("LAPTOP-EG17Q4P3");
String hostName = inetAddress.getHostName();
String address = inetAddress.getHostAddress();
System.out.println(hostName + ":" + address); // LAPTOP-EG17Q4P3:100.2.249.77(例子)

UDP传输数据

发送数据

InetAddress inetAddress = InetAddress.getByName("100.2.249.76");

// 创建发送端
DatagramSocket ds = new DatagramSocket();

// 创建数据包
byte[] bys = "a,2,我来了".getBytes();

DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("100.2.249.76"), 10086);

// 发送数据
ds.send(dp);

// 关闭发送端
ds.close();

接收数据

// 创建接受端
DatagramSocket ds = new DatagramSocket(10086);

// 创建数据接收包
byte[] bys = new byte[1024];
DatagramPacket dp = new DatagramPacket(bys, bys.length);
// 接收数据包
ds.receive(dp);

// 解析数据包
byte[] datas = dp.getData();
int len = dp.getLength();
String stringDatas = new String(datas, 0, len);
System.out.println("数据是:" + stringDatas);

//关闭接收端
ds.close();

TCP传输数据

发送数据

Socket s = new Socket("100.2.249.76", 10087);

OutputStream os = s.getOutputStream();
os.write("hello, 我来了".getBytes());

s.close();

接受数据

ServerSocket ss = new ServerSocket(10087);

// 监听
Socket s = ss.accept();

InputStream is = s.getInputStream();
byte[] bys = new byte[1024];
int len = is.read(bys);
String stringDatas = new String(bys, 0, len);
System.out.println("数据是:" + stringDatas);

s.close();
ss.close();

注:用shutdownOutput方法让服务器端知道客户端已经停止传输数据,相当于一个标记

lambda表达式

形式 () -> {}

new Thread( () -> {
    System.out.println("dddd");
}).start();

要求:一个接口,接口中有且仅有一个方法

省略

addSum(x,y -> x + y);

addSum(s -> System.out.println("dddd"));

匿名内部类会单独的产生一个.class字节码文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉了的凉茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值