首页
技术知识库
Task工作计划
网站简介
DON框架
后台管理
文章分类
JAVA
框架知识
操作系统
容器相关
数据库层
优化技术
界面编程
网络编程
开发工具
GO语言
其他
读书随笔
观影随笔
每日随笔
APP
UDP代码模版
所属分类
:[网络编程] |
创建时间
:2014-05-09 |
文章属性
:原创 |
文章来源
:http://windfly.cn |
作者
:windfly
##服务端 <pre name="code" class="java"> package service; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException; import java.util.Arrays; import util.LogUtil; import util.PropertiesUtil; public class UdpService { private static UdpService INSTANCE = new UdpService(); int port; /** * 初始化端口号 * @throws IOException */ private UdpService() { port = PropertiesUtil.getInt("port"); } /** * 启动服务 * @throws SocketException * @author DingFengHua * @since 2014-2-19 */ public static void startService() throws SocketException { // 启动处理线程 AlarmService.getInstance().processQueue(); // 启动接收监听服务 DatagramSocket server = new DatagramSocket(new InetSocketAddress(INSTANCE.port)); byte[] bs = new byte[1024]; DatagramPacket data = new DatagramPacket(bs, bs.length); LogUtil.info("启动完成,UDP监听端口:"+INSTANCE.port); while (true) { // 一直监听 try { server.receive(data); AlarmService.getInstance().add(Arrays.copyOf(data.getData(), data.getLength())); } catch (Exception e) { LogUtil.error(e); } } } } </pre> ##客户端 <pre name="code" class="java"> import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import util.PropertiesUtil; public class UdpGpsSend { /** * @param args * @throws SocketException */ public static void main(String[] args) throws Exception { sendData(); } private static void sendData() throws IOException { InetAddress inetAddress = InetAddress.getLocalHost(); DatagramSocket socket = new DatagramSocket(); String s = "xxx-0000000000000003"; socket.send(createDatagramPacket(s,inetAddress,PropertiesUtil.getInt("port"))); } private static DatagramPacket createDatagramPacket(String s, InetAddress inetAddress, int i) { DatagramPacket packet = new DatagramPacket(s.getBytes(), s.getBytes().length,inetAddress,i); return packet; } } </pre>
返回