对DatagramSocket的使用实例(java使用UDP进行数据传输)
今天刚看懂的一点点东西,记录一下,方便自己回顾
客户端:
Client.java
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException; import org.json.JSONObject; public class Client { private static int port = 7799;//定义端口 数据报要用 private static String IP = "127.0.0.1";//定义IP地址 数据报要用 private static DatagramPacket packet = null;//定义要发送的数据报 public static void main(String[] args) throws IOException{
try(
DatagramSocket socket = new DatagramSocket();//创建UDP套接字 ) {
//将数据使用json编码发送
JSONObject jsonObject = new JSONObject();//创建json对象
jsonObject.put("test","hello");//给json对象插入数据 //初始化要发送的数据报参数为 {字节数组}{长度}{地址}{端口}
packet = new DatagramPacket(new byte[0], 0, InetAddress.getByName(IP), port);
//数据报应该包含发送的目的地址和端口号 byte[] test = jsonObject.toString().getBytes();//把json对象转换为字节码并存入字节数组中 packet.setData(test);//为要发送的数据包指定字节数组(要发送的数据) socket.send(packet);//发送数据包
}
catch (SocketException e) {
e.printStackTrace();
} }
}
服务端
server.java
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket; import org.json.JSONObject; public class server {
private static int port = 7799;
private String IP = "127.0.0.1";
//创建字节数组准备接收数据
private static byte[] test = new byte[1024];
private static DatagramPacket packet = new DatagramPacket(test,test.length); public static void main(String[] args) throws IOException { DatagramSocket socket = new DatagramSocket(port);//创建UDP套接字
socket.receive(packet);//接受数据报 String hell = new String(test, 0, test.length);//将收到的数据存在字符串中
JSONObject jsonObject = new JSONObject(hell);//获得存储数据的字符串的json编码
System.out.println(jsonObject);
String str = jsonObject.getString("test");//获取json编码中test对象的值
System.out.println(str);
} }
对DatagramSocket的使用实例(java使用UDP进行数据传输)的更多相关文章
- netty的Udp单播、组播、广播实例+Java的Udp单播、组播、广播实例
网络上缺乏netty的udp的单播.组播案例,经过一番学习总结之后终于把这两个案例调通,下面把这两个案例的代码放在这里分享一下. 首先推荐博文: http://colobu.com/2014/10/2 ...
- Java Networking: UDP DatagramSocket (翻译)
原文:http://tutorials.jenkov.com/java-networking/udp-datagram-sockets.html UDP vs. TCP Sending Data vi ...
- Java 中UDP原理机制及实现方式介绍(建议阅读者阅读前了解下Java的基础知识,一方便理解)
1.基本概念介绍: 首先得简单介绍下UDP. UDP( User Datagram Protocol )协议是用户数据报,在网络中它与TCP协议一样用于处理数据包.在OSI模型中,在第四层——传输层, ...
- Java实现UDP之Echo客户端和服务端
Java实现UDP之Echo客户端和服务端 代码内容 采用UDP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...
- Java TCP/UDP网络通信编程
本文转自:http://www.cnblogs.com/cdtarena/archive/2013/04/10/3012282.html 网络应用中基本上都是TCP(Transmission Cont ...
- Java使用UDP发送数据到InfluxDB
最近在做压测引擎相关的开发,需要将聚合数据发送到InfluxDB保存以便实时分析和控制QPS. 下面介绍对InfluxDB的使用. 什么是InfluxDB InfluxDB是一款用Go语言编写的开源分 ...
- Java Socket UDP编程
package com; import java.io.IOException; import java.net.*; /** * UDP Client * * Created by Administ ...
- PL/SQL 调用JAVA使用UDP发送数据
步骤如下 1.直接在SQL命令中写入JAVA代码(用SYS帐号执行,不然权限等太麻烦) create or replace and resolve java source named udp as i ...
- Java中UDP协议的基本原理和简单用法
UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢 ...
随机推荐
- uwp开发————换背景图片
原文:uwp开发----换背景图片 用后台代码来实现对容器背景的切换,用本地图片作为背景. 把需要的图片素材放到Assets文件夹下 前台xaml代码如下: <Grid x:Name=" ...
- CentOS 如何删除/delete/remove 老的 kernel
package-cleanup --oldkernels --count=1
- MySQL InnoDB缓冲池(Buffer Pool)
InnoDB缓冲池并不仅仅缓存索引,它还会缓存行的数据.自适应哈希索引.插入缓冲(Insert Buffer).锁,以及其他内部数据结构. InnoDB还使用缓冲池来帮助延迟写入,这样就能合并多个写入 ...
- 漏洞告诉你:商家为什么都乐于提供免(diao)费(yu)WiFi?
作为一名小微商户,每天我除了要为经营小店忙得焦头烂额,还要想方设法地寻求提升用户体验.于是,我用了号称“营销神器”的某商用WiFi系统...... 然后不可思议的事情发生了:连上此WiFi的手机(包括 ...
- C函数实现返回多个值的方法
C语言中,一个函数最多只能实现一个返回值. int func (int b) { int a=5; if (a>b) return a; else return b; return 0; } ...
- c# Lambda扩展
扩展类 public static class LinqExtensions { /// <summary> /// 创建lambda表达式:p=>true /// </sum ...
- STL函数static void (* set_malloc_handler(void (*f)()))()与函数指针解析
在C++ STL的SGI实现版本中,一级空间配置器class __malloc_alloc_template中有一个静态函数的实现如下: static void (*set_malloc_handle ...
- SYN591-B型 转速表
SYN591-B型 转速表 光电转速表数显转速表智能转速表使用说明视频链接: http://www.syn029.com/h-pd-249-0_310_44_-1.html 请将此链接复制到浏览 ...
- Nginx+Keepalived部署流程
环境介绍 1)LB01 Hostname:lb01.example.com VIP:192.168.3.33(eth0:0) IP:192.168.3.31(eth0) OS:Centos 7 2)L ...
- 用nodejs调用webservice
用nodejs调用webservice,是用soap包实现的. 步骤如下: 第一步:安装soap包 npm install soap 第二部:调用webservice var soap = requ ...