Python 官方文档:入门教程 => 点击学习
目录UDP编程通信基本介绍基本流程UDP编程通信 基本介绍 类DatagramSocket和DatagramPacket【数据包/数据报】实现了基于UDP协议网络程序。UDP数据报通
UDP网络编程原理示意图
UDP说明:
package com.study.srv.demo18;
import java.io.IOException;
import java.net.*;
public class Demo11 {
public static void main(String[] args) throws IOException {
//1.创建DatagramSocket对象,准备发送和接收数据,在9998端口接收
DatagramSocket datagramSocket = new DatagramSocket(9998);
//2.将需要发送的数据,封装到DatagramPacket对象
String s="发送的数据";
byte[] buf=s.getBytes();
InetAddress ip = InetAddress.getByName("192.168.0.18");
//说明:封装的DatagramPacket对象
//buf 内容字节数组
//buf.length 数据长度
//ip 主机(ip)
//9999 端口
DatagramPacket packet = new DatagramPacket(buf, buf.length, ip, 9999);
//发送数据
datagramSocket.send(packet);
//关闭资源
// datagramSocket.close();
System.out.println("发送完毕");
//发送端变为接收端接收数据
byte[] bytes = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
datagramSocket.receive(datagramPacket);
int length = datagramPacket.getLength();
byte[] data = datagramPacket.getData();
String string = new String(data, 0, length);
System.out.println(string);
datagramSocket.close();
System.out.println("接受结束");
}
}
package com.study.srv.demo18;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class Demo10 {
public static void main(String[] args) throws IOException {
//1.创建一个 DatagramSocket对象,准备在9999接收数据
DatagramSocket datagramSocket = new DatagramSocket(9999);
//2.构建一个DatagramPacket 对象,准备接收数据
//在UDP协议,一个数据包最大64k
byte[] buf=new byte[1024];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
//3.接收方法 将通过网络传输的DatagramPacket对象填充到packet里去。
System.out.println("接收端等待接收");
datagramSocket.receive(packet);
//4.可以对packet进行拆包,取出数据,并显示
//实际接收到的数据字节长度
int length = packet.getLength();
//实际接收到的数据
byte[] data = packet.getData();
String string = new String(data, 0, length);
System.out.println(string);
//5.关闭资源
// datagramSocket.close();
System.out.println("接收结束");
//接收端变为发送端,发送数据
String s="接收端变为发送端,发送数据";
byte[] bytes=s.getBytes();
DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length, InetAddress.getByName("192.168.0.18"), 9998);
datagramSocket.send(datagramPacket);
datagramSocket.close();
System.out.println("发送完毕");
}
}
到此这篇关于Java UDP编程的文章就介绍到这了,更多相关Java UDP编程内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java实现基于UDP协议的网络通信UDP编程
本文链接: https://lsjlt.com/news/211077.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0