android。局域网UDP简单的发送和接收逻辑

发送

  private DatagramSocket sendSocket = null;

  private int sendPort = 8856;
  private String ip = "192.168.1.100";
   private void sendMsg(final String msg) {
new Thread(new Runnable() {
@Override
public void run() {
try {
if (sendSocket == null) {
sendSocket = new DatagramSocket(sendPort);
}
InetAddress inetAddress = InetAddress.getByName(ip);
DatagramPacket datagramPacket = new DatagramPacket(msg.getBytes(), msg.length(), inetAddress, receivePort);
sendSocket.send(datagramPacket);
} catch (Exception e) {
}
}
}).start();
}



接收
private DatagramSocket receiveSocket = null;

private int receivePort = 8855;

DatagramPacket datagramPacket;

private void receiveMsg() {
try {
if (receiveSocket == null) {
receiveSocket = new DatagramSocket(receivePort);
}
while (true) {
byte[] bytes = new byte[1024];
datagramPacket= new DatagramPacket(bytes, 0, bytes.length);
receiveSocket.receive(datagramPacket);
String data = new String(datagramPacket.getData(), 0, datagramPacket.getLength());
}
} catch (Exception e) {
}
}




posted @   hjy11593219  阅读(244)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示