UDP示例

本文提供了一个关于UDP客户端和服务器的基本实现示例,包括如何使用DatagramSocket和DatagramPacket进行消息收发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android学习笔记18--------------UDP示例

分类: android

参考别人一幅原理图。

 

 

[java]  view plain copy print ?
 
  1. import java.io.IOException;  
  2. import java.net.DatagramPacket;  
  3. import java.net.DatagramSocket;  
  4. import java.net.InetAddress;  
  5.   
  6. public class UDPClient  
  7. {  
  8.     private DatagramSocket client=null;  
  9.     private DatagramPacket packet=null;  
  10.     private InetAddress host=null;  
  11.     public static int portSend=8888;  
  12.     public static String name="192.168.142.199";  
  13.       
  14.       
  15.     public UDPClient()  
  16.     {         
  17.         try  
  18.         {  
  19.             host = InetAddress.getByName(name);  
  20.             client=new DatagramSocket();  
  21.                                           
  22.             System.out.println("客户端准备就绪");  
  23.         } catch (Exception e)  
  24.         {  
  25.             e.printStackTrace();  
  26.         }                             
  27.     }  
  28.       
  29.     public void UDPClientRun(byte[] buffer) throws IOException    
  30.     {                                 
  31.         host = InetAddress.getByName(name);  
  32.         packet=new DatagramPacket(buffer,buffer.length, host, portSend);  
  33.         client.send(packet);      
  34.         System.out.println("客户端发送消息");  
  35.     }  
  36.       
  37.     public void UDPClientStop()  
  38.     {  
  39.         client.close();  
  40.     }  
  41. }  


 

[java]  view plain copy print ?
 
  1. import java.io.IOException;  
  2. import java.net.DatagramPacket;  
  3. import java.net.DatagramSocket;  
  4.   
  5. public class UDPService  
  6. {  
  7.     private DatagramSocket server =null;  
  8.     private DatagramPacket dPacket=null;  
  9.     private byte[] buffer = new byte[640];    
  10.     public static int portServer=8888;  
  11.       
  12.     public UDPService ()  
  13.     {  
  14.         try  
  15.         {  
  16.             server  = new DatagramSocket(portServer);     
  17.             dPacket = new DatagramPacket(buffer, buffer.length);  
  18.         } catch (Exception e)  
  19.         {  
  20.             e.printStackTrace();  
  21.         }             
  22.     }  
  23.       
  24.     public byte[] UDPServiceRun()  
  25.     {                                                                                             
  26.         try  
  27.         {  
  28.             server.receive(dPacket);  
  29.             System.out.println("服务端接收到消息");  
  30.         } catch (IOException e)  
  31.         {  
  32.             e.printStackTrace();  
  33.             System.out.println("服务端未收到消息");  
  34.         }                             
  35.         return buffer;                        
  36.     }  
  37.       
  38.     public void UDPSeverStop()  
  39.     {  
  40.         server.close();  
  41.     }  
  42.       
  43.     public String getClientName()  
  44.     {  
  45.         String name="";  
  46.         name=dPacket.getAddress().toString();  
  47.         return name;  
  48.     }  
  49.       
  50. }  

转载于:https://www.cnblogs.com/gtgl/p/4917834.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值