【2013-12-16】《Java编程思想》读书笔记:UDP
[历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2013-12-16 标题《Java编程思想》读书笔记:UDP分类编程 / java 标签java·UDP《Java编程思想》读书笔记UDP最近用到了UDP实现一个小功能就找了下UDP的实现代码这里备份下简单的实现。备注UDP的业务很简单知道了对方的IP和端口号无需建立连接就可以发送数据。publicclassUDPTools{publicstaticfinalUDPToolsInstancenewUDPTools();privateUDPTools(){}publicstaticinterfaceonRevUDPDataController{publicvoidonRevUDPData(byte[]data,intoffset,intlength);}privateintlocalSvrPort60000;privateintremotePort50000;privateDatagramSocketclientnull;privateDatagramSocketservernull;privateonRevUDPDataController controller;privateStringremoteIP;privatevolatilebooleanisReadingtrue;publicbooleandeinit(){if(client!null){client.close();}if(server!null){server.close();}clientnull;servernull;returntrue;}publicbooleaninit(onRevUDPDataController controller,intlocalSvrPort,intremotePort,StringremoteIP){if(client!null){returnfalse;}if(nullcontroller||localSvrPort1024||remotePort1024||localSvrPort65535||remotePort65535||nullremoteIP||remoteIP.length()192.168.168.168.length()){returnfalse;}this.controllercontroller;this.localSvrPortlocalSvrPort;this.remotePortremotePort;this.remoteIPnewString(remoteIP);try{clientnewDatagramSocket();servernewDatagramSocket(this.localSvrPort);isReadingtrue;}catch(SocketExceptione){e.printStackTrace();if(client!null){client.close();}if(server!null){server.close();}clientnull;servernull;returnfalse;}returntrue;}publicbooleansendToSvr(byte[]data,intoffset,intlength){if(client!null){DatagramPacketpack;try{packnewDatagramPacket(data,offset,length,InetAddress.getByName(remoteIP),remotePort);client.send(pack);}catch(UnknownHostExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}}else{returnfalse;}returntrue;}publicbooleanstopReadFromRemote(){isReadingfalse;returntrue;}publicbooleanbeginReadFromRemote(){try{while(isReading){byte[]messagenewbyte[1024];DatagramPacketpacketnewDatagramPacket(message,message.length);server.receive(packet);controller.onRevUDPData(packet.getData(),packet.getOffset(),packet.getLength());}returntrue;}catch(IOExceptione){e.printStackTrace();// controller.onRevUDPData(null, 0, 0);returnfalse;}}}

相关新闻

LangChain 文本切分实践:从原理到实战

LangChain 文本切分实践:从原理到实战

1. 引言在构建基于大语言模型的应用程序时,文本切分(Text Splitting)是一个看似简单却至关重要的环节。无论是构建检索增强生成(RAG)系统、文档问答还是知识库应用,合理的文本切分策略直接影响着模型的上下…

2026/7/15 19:55:09阅读更多 →
【2013-12-23】《编程之美》读书笔记:买书问题

【2013-12-23】《编程之美》读书笔记:买书问题

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2013-12-23 | 标题:《编程之美》读书笔记:买书问题 | 分类: 编程 / java / 编程之美…

2026/7/15 19:55:09阅读更多 →
【2013-12-23】《编程之美》读书笔记:快速找出故障机器

【2013-12-23】《编程之美》读书笔记:快速找出故障机器

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2013-12-23 | 标题:《编程之美》读书笔记:快速找出故障机器 | 分类: 编程 / java /…

2026/7/15 19:55:09阅读更多 →
短剧翻译SOP标准流程实测:5步走完一部剧的标准动作

短剧翻译SOP标准流程实测:5步走完一部剧的标准动作

短剧出海译制没有"随便试试"的空间,实测梳理出一套可复用的5步SOP:字幕提取→翻译→配音→字幕擦除→审核导出,每一步都有明确的标准动作和验收标准。 很多团队在启动短剧出海项目时,是"边做边摸索"&#xf…

2026/7/15 20:55:13阅读更多 →
Trae 搭网站:翻车、补救、埋雷

Trae 搭网站:翻车、补救、埋雷

实测Trae从Excel到网站全流程 每个测评博主电脑里都有一个文件夹,里面躺着一堆"下次一定整理"的 Excel。 我的文件夹里,三个Excel 已经躺了一年多。那是 2025 年初测评的 22 个 AI 工具,从 DeepSeek-V3 到 Claude 3.5 Sonnet&…

2026/7/15 20:55:13阅读更多 →
API网关、微服务、Service Mesh——ChatGPT一句话讲清本质,92%工程师看完直呼“早该这么教!”

API网关、微服务、Service Mesh——ChatGPT一句话讲清本质,92%工程师看完直呼“早该这么教!”

更多请点击: https://codechina.net 第一章:API网关、微服务、Service Mesh——ChatGPT一句话讲清本质,92%工程师看完直呼“早该这么教!” API网关是系统的“统一门面”,负责流量入口的认证、限流、路由与协议转换&a…

2026/7/15 20:55:13阅读更多 →
DeepSeek    LeetCode 3559. 给边赋权值的方案数 II Java实现

DeepSeek LeetCode 3559. 给边赋权值的方案数 II Java实现

根据题目要求,对于树中任意两个节点 u 和 v,路径长度为 d(边数),使路径总代价为奇数的赋值方案数为 2^(d-1)。因此核心问题转化为快速求树上两点距离。以下是 Java 实现,使用二进制提升(Binary …

2026/7/15 20:55:13阅读更多 →
DeepSeek    LeetCode 3559. 给边赋权值的方案数 II Python3实现

DeepSeek LeetCode 3559. 给边赋权值的方案数 II Python3实现

根据题目要求,对于树中任意两个节点 u 和 v,路径长度为 d(边数),使路径总代价为奇数的赋值方案数为 2^(d-1)。因此核心是快速求树上两点距离。Python3 实现python class Solution:MOD 10**9 7def assignEdgeWeights(…

2026/7/15 20:55:13阅读更多 →
TDA2Px SoC异构计算架构与接口调试实战指南

TDA2Px SoC异构计算架构与接口调试实战指南

1. TDA2Px SoC:汽车电子异构计算的集大成者 在汽车电子,尤其是高级驾驶辅助系统(ADAS)领域,性能、功耗和实时性之间的平衡是一场永无止境的博弈。传统的单一架构处理器,无论是通用CPU还是专用DSP&#xff0…

2026/7/15 20:50:13阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/15 6:42:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/15 6:12:45阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/15 10:54:00阅读更多 →
AI框架决定企业AI能走多远

AI框架决定企业AI能走多远

企业AI建设的第一性原理 企业搞AI,最关键的决定是什么?不是选哪家大模型,不是先做哪个场景,不是招多少AI人才——而是选哪个AI开发框架。 为什么?因为框架决定了企业AI能力的"天花板"。选对了框架&#xff0…

2026/7/15 0:01:30阅读更多 →
Java企业为什么需要AI框架

Java企业为什么需要AI框架

Java企业在AI时代的尴尬处境 Java是全球企业级应用开发的主流语言——全球超过一半的企业系统跑在Java上。但在AI浪潮面前,很多Java企业感到尴尬:大模型的接口是各种语言的,AI开发社区以其他语言为主流,似乎Java在AI时代"掉队…

2026/7/15 0:01:30阅读更多 →
CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

1. 项目概述:为什么需要关注CC3230x的SD主机、定时器与低功耗?在物联网和嵌入式设备开发领域,我们常常面临一个核心矛盾:设备需要具备强大的连接能力、可靠的数据存储和实时控制功能,同时又必须严格控制功耗以延长电池…

2026/7/15 0:01:30阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/15 15:50:47阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/15 8:52:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/15 14:06:23阅读更多 →