java UDP 模板

1014. 福尔摩斯的约会 (20)-PAT乙级真题 1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’ 阅读详情

UDP(User Datagram Protocol)是一种无连接的传输层协议,在 Java 中可以使用 UDP 进行网络编程。理论上没有服务器客户端之分,实际上算是有的,以下是 Java 中 UDP 编程的基本步骤和示例代码:

服务器端

  1. 创建DatagramSocket对象,指定端口号,用于接收客户端发送的数据报。
  2. 创建DatagramPacket对象,用于接收数据。
  3. 使用DatagramSocket的receive方法接收数据报,将数据存储在DatagramPacket中。
  4. 从DatagramPacket中获取数据,并进行处理。
  5. 关闭DatagramSocket。
    import java.net.*;
    
    public class UDPServer {
    
    	public static void main(String[] args) throws Exception  {
    		// TODO Auto-generated method stub
    		//1.创建DatagramSocket对象,指定端口号。用于接收客户端发送的数据报
    		DatagramSocket socket = new DatagramSocket(6002); 
    		//2.创建DatagramPacket 对象,用于接收数据.
    		byte [] buffer = new byte[1024];
    		DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
    		//3.使用 DatagramSocket 的 receive 方法接收数据报,将数据存储在 DatagramPacket 中
    		socket.receive(packet);
    		//4.从DatagramPacket中获取数据,并进行处理
    		String message = new String(packet.getData(),0,packet.getLength());
    		System.out.println(message);
    		//5.关闭DatagramSocket
    		socket.close();
    		
    
    	}
    
    }
    

    客户端

  6. 创建DatagramSocket对象,用于发送数据报。
  7. 创建DatagramPacket对象,指定要发送的数据、目标 IP 地址和端口号。
  8. 使用DatagramSocket的send方法发送数据报。
  9. 关闭DatagramSocket。
    import java.net.*;
    public class UDPClient {
    
    	public static void main(String[] args) throws Exception{
    		// TODO Auto-generated method stub
    		//1.创建 DatsagramSocket 对象 ,用于发送数据报
    		DatagramSocket socket = new DatagramSocket();
    		//2.创建DatagramPacket 对象,指定要发送的数据,目标IP地址和端口号
    		//要发送的数据
    		String message = "你好,服务器";
    		byte [] buff = message.getBytes();
    		//创建DatagramPacket 对象,指定目标IP地址和端口号
    		InetAddress address = InetAddress.getByName("127.0.0.1");
    		DatagramPacket packet = new DatagramPacket(buff, buff.length, address, 6002);
    		//3.使用DatagramSocket 的send方法发送数据报
    		socket.send(packet);
    		//4.关闭DatagramSocket
    		socket.close();
    		
    
    	}
    
    }
    

ESP32系列之LVGL(四):输入设备(外部按键)对接 本文详细介绍了如何在ESP32上使用LVGL库对接外部按键作为输入设备,包括硬件连接、驱动层实现和LVGL输入设备移植。通过具体代码示例和实战案例,帮助开发者快速实现按键控制UI界面,解决常见问题如按键无反应和控件跳转不正常。 阅读详情

相关推荐

C语言实战:最小二乘法在传感器数据校准中的应用(附完整代码)

本文详细介绍了如何使用C语言实现最小二乘法,对传感器数据进行线性校准。通过模拟带噪声的传感器数据,手把手演示了从核心算法实现、参数计算到效果验证的完整流程,并提供了可直接编译运行的完整源码,帮助嵌入式开发者解决传感器数据不准的常见问题,提升系统测量精度。

weixin_28025327的博客 515

网络编程 05 UDP 聊天实现

循环发送消息 package hike.chat; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException; public class UdpSenderDemo01

xcq2yqq的博客 175

三、STM32F103ZET6最小系统

stm32最小系统除去主控CPU外,需要包含,电源电路,复位电路,BOOT电路,时钟电路(因为stm32有内置时钟,对时钟要求不高的话,可以不要)。NRST引脚其实芯片已经用一个约40K的电阻上拉了,所以理论上来说是不需要再外接上拉电阻的,但我看大家都是有外接上拉的,心里没有底,不管这么多,先预留着。吃过亏,特意查看了芯片手册资料,下图是官方建议的供电方案,图片来自stm32f103zet6数据手册。首先明白目标,单纯的学习软件知识并不是我希望的,我还希望会硬件设计,这样后面才能摆脱开发板。

sevendecsdn的博客 6452

java总结复习

1.静态导入:import static 如果这个类的方法全是静态的,那么可以使用静态导入,可以不写类名直接写方法2.可变参数:add(int... a)当你不知道具体要传几个参数时,可以使用可变参数,必须在参数列表的最后,必须是同一类型,底层是数组。3,网络编程三要素:ip 端口 协议udp面向无连接,tcp面向有链接4.socket编程,也叫网络编程5.udp传输数据:DatagramSoc...

qq_35063771的博客 197

gesp c++ 八级知识点

gesp c++ 八级知识点

MMD.然大大 2237

金蝶个版本下载地址,记得保存收藏。

专业版 V10.0 http://downloads.cmcloud.cn/kis/kis_pro/10.0/kiszybV10sp1.rar V11.0 http://downloads.cmcloud.cn/kis/kis_pro/11.0/KISV11Setup.rar V12.0 http://dow...

饺子的博客 2505

各类学习资料来了,赶紧来尝新!!!

工具资源:关注 IT技术馆, 回复关键字------------------文中资源--------------------Java设计模式-模板方法模式(14)强烈推荐!超级好用的TCP/UDP测试工具项目管理构建不只是Maven,还有更优越的它!超神级!Markdown最详细教程,程序员的福音Typora-最新版安装(1.8.9) IntelliJ IDEA 2023.2.5安装教程开发速度提升数倍!PDManer超级好用的数据库建设工具

艾利克斯冰的博客 570

TP4054充电电路发热严重?手把手教你调整电阻值降低温度(附实测数据)

本文针对TP4054锂电池充电电路发热严重的问题,提供了详细的排错与解决方案。通过分析发热原理,指出核心在于PROG引脚电阻值设定,并手把手指导如何计算和选择正确的电阻以降低充电电流与温度。文末附有不同电阻下的实测温度与性能数据,为电子爱好者和工程师提供了实用的调试参考。

p4q5r6s7t的博客 406

Java网络编程、正则表达式、单例设计模式与Lombok

UDP协议:UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,主要用于提供不可靠但高效的网络数据传输服务无连接UDP在发送数据之前不需要先建立连接,也不需要在数据传输完成后关闭连接。这意味着UDP可以立即开始发送数据,适用于实时应用,如在线语音聊天、视频流媒体等不可靠UDP不保证数据报文的可靠传输。数据报可能丢失、重复或乱序到达,也不会有重传机制。对于不需要可靠传输的应用场景,UDP提供了更快的速度无序传输。

小何代码咖啡馆 1464

显著性算法 + 伪彩变换

利用opencv得到显著图和伪彩图

正在挣扎中的人 2298

抓包网络调试工具 reqable抓包教程

如果CA根证书未安装成功,网络图标是黄色,点击盾牌图标可以进入CA根证书安装界面,详细步骤请阅读。在API调试中,获取流量是第一步也是最基本的操作,这里讲解下如何使用Reqable获取流量,通俗地讲就是抓包。我们可以选择一个图片请求,双击打开详情面板,能够看到该请求的详细信息。如果系统代理未设置,网络图标是黄色,点击网络图标可以自动设置系统代理。此域名的结构树,可以查看该域名下所有请求的目录结构,点击选择可以查看该请求的详情。首先,需要启用Reqable的调试功能,点击最右上角的。打开浏览器,输入地址。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2557

linux sbit用法,Linux Stick BIT(SBIT)文件特殊权限用法详解

Struts2的模板和主题简介Struts2 名称 作用 simple主题 这是最简单的主题,使用该主题时,每个UI标签只生成最基本的HTML元素,没有任何附加功能。 xhtml主题 这是Struts2C语言文件随机访问fseek()和ftell()函数文件随机访问是指在某个文件内直接读写任何给定位置数据的能力。通过获取与设定文件位置指示符可以实现这一功能,文件位置指示...

weixin_31146939的博客 393

华为OD机试2025C卷 - 精准核酸检测 (C++ & Python & JAVA & JS & GO)

华为OD机试2025C卷 精准核酸检测,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1707

java整理(3)

Thyme leaf,freemarker,jsp,官方不推荐JSP会有限制。3、 SpringBoot支持什么前端模板?

m0_52643395的博客 140

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java基础二十

总结:

weixin_44211905的博客 1233

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

_04_java核心类库2

1. 异常机制 1.1 简介 Throwable是所有错误和异常的超类。 Error 是严重的JVM无法解决的问题,无法通过编程解决 Exception 类是指一些轻微的可以编程解决的问题 1.2 分类 Throwable 是 Error 和 Exception 的父类。 Error: 目前唯一见过的Error,NoClassDefFoundError 继承关系:Error --> LinkageError --> NoClassDefFoundError Exception:

skb002的博客 359

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

示波与数据采集系统(JavaFx开发,支持TCP,UDP,串口示波及数据采集)

test 示波与数据采集系统的TCP接收并展示数据 学习交流QQ群835259695 示波与数据采集系统的TCP接收并展示数据 学习交流QQ群835259695

u012698467的博客 2545

从零掌握 MAVLink 通信:Python-Java 模版代码实战快速入门

上周我在客户现场调一台四旋翼,飞控能连上,地面站也能看到心跳包,偏偏业务系统就是“收不到数据”。现场几个人围着串口、UDP、日志一顿翻,最后发现不是链路坏了,而是团队里没人真正搞明白 MAVLink 的消息结构和接入方式。很多无人机项目卡住,不是卡在算法,也不是卡在硬件,而是卡在“协议会用,但不会真正落地”。

创智围光 439

java第二十二天 网络编程 UDP TCP

1 什么叫网络编程 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换 网络模型7层概述: 1.物理层 2. 数据链路层 3. 网络层 4. 传输层 5.会话层 6.表示层 7.应用层 2 网络编程三要素 A:IP地址:InetAddress: 网络中设备的标识,不易记忆,可用主机名 B:端口号: 用于标识...

weixin_41847891的博客 254

TCP/UDP协议 (详解)

TCP是基于连接的,而UDP是基于非连接的。 tcp传输数据稳定可靠,适用于对网络通讯质量要求较高的场景,需要准确无误的传输给对方。比如,传输文件,发送邮件,浏览网页等等 udp的优点是速度快,但是可能产生丢包,所以适用于对实时性要求较高但是对少量丢包并没有太大要求的场景。比如:域名查询,语音通话,视屏直播等。udp还有一个非常重要的应用场景就是隧道网络,比如:vpn,VXLAN.

书生-w的博客 2万+

常用类 枚举 异常 Math tcp与udp

常用类 枚举 异常  Math tcp与udp 异常:程序中出想不正常的情况。 因为面向对象,所以JAVA把异常处理也进行封装, - throwable : Error:运行中出现的严重错误,不需要我们进行更改。 Exception:运行中的不严重的错误,我们可以尝试解决。 Exception : 编译时异常: 运行时异常:RuntimeException 系统异常:...

C_CXY2333的博客 240

linux 下的qt打包工具,linux下的QT打包方法

overload、overwrite、override1.重载 overload 函数名一样,参数不同(类型.顺序,与返回值类型无关),重载的函数一般在同一个类中 class A { public: void test() {} void test(in ...xcode6如何支持空模板Single View Application 改成空模板的歩揍(xcode6.0.1): 1.删除info.p...

weixin_28738397的博客 171

Linux下Netty实现高性能UDP服务

常规的Netty处理UDP包我们只能用按个NIOEventLoop线程接收传输的数据包,从底层来看即只使用一个socket线程监听网络端口,通过这一个线程将数据传输到应用层上,这一切使得我们唯一能够调优的方式就是在Socket监听传输时尽可能快速将发送给应用程序,让应用程序及时处理完以便NIOEventLoop线程能够及时处理下一个UDP数据包。亦或者,我们也可以直接通过增加服务器的数量通过集群的方式提升系统整体的吞吐量。然而事实真是如此吗?

禅与计算机程序设计的艺术 3785

Java使用webflux实现udp服务对接Modbus的udp协议

udp,modbus

galaxyou的博客 452

java网络编程(七层模型介绍、UDP详解、URL类)

java网络编程 1.1网络通信的模型 OSI将计算机网络体系结构(architecture)划分为以下七层: 物理层: 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人。 数据链路层: 决定访问网络介质的方式。在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。 网络层: 使用权数据路由经过大型网络 相当于邮局中的排序工人。 传输层: 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。 会话层: 允许用户使用简单易记的名称建立连接 相当于

m0_48159893的博客 624

模块23_网络编程&正则表达式&设计模式

模块23_网络编程&正则表达式&设计模式

m0_72900498的博客 878
上一篇: Java 2D 图形变换方法
下一篇: java 静态和非静态资源之间的关系处理
wu_android
博客等级 码龄10年 94粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值