package j2se.core.net.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.util.Scanner;

/**
* 通过 UDP 发送数据的简单范例
*/
public class Sender {

public static void main(String[] args) throws IOException {

// 使用指定的端口,创建 数据报嵌套字(用于发送数据)
DatagramSocket socket = new DatagramSocket();
// 创建数据报发送目的地的地址对象
InetSocketAddress address = new InetSocketAddress("127.0.0.1", 1234);

// 接收用户输入
Scanner scanner = new Scanner(System.in);
while (true) {
String content = scanner.nextLine();
if (content.length() == 0)
break;
byte[] message = content.getBytes();
DatagramPacket packet = new DatagramPacket(message, message.length, address);
socket.send(packet);
}
socket.close();
}

}

package j2se.core.net.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.util.Scanner;

/**
* 通过 UDP 发送数据的简单范例
*/
public class Sender {

public static void main(String[] args) throws IOException {

// 使用指定的端口,创建 数据报嵌套字(用于发送数据)
DatagramSocket socket = new DatagramSocket();
// 创建数据报发送目的地的地址对象
InetSocketAddress address = new InetSocketAddress("127.0.0.1", 1234);

// 接收用户输入
Scanner scanner = new Scanner(System.in);
while (true) {
String content = scanner.nextLine();
if (content.length() == 0)
break;
byte[] message = content.getBytes();
DatagramPacket packet = new DatagramPacket(message, message.length, address);
socket.send(packet);
}
socket.close();
}

}

package j2se.core.net.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
* 通过 UDP 接收数据的简单范例
*/
public class Receiver {
public static void main(String[] args) throws IOException {
// 使用指定的端口,创建 数据报嵌套字(用于接收数据)
DatagramSocket socket = new DatagramSocket(1234);

// 创建长度为 1024 个字节的数据报对象
DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);

while (true) {
socket.receive(packet);
byte[] data = packet.getData();
String s = new String(data, 0, packet.getLength());
System.out.println("接收到的内容:" + s);
if (s.equals("quit"))
break;
}
socket.close();
}
}

转载于:https://www.cnblogs.com/angel512/p/5869406.html

通过 UDP 发送数据的简单范例相关推荐

  1. UDP发送数据包流程

    UDP发送数据包的函数是udp_sendmsg,完成从用户地址空间接受数据包然后赋值到内核空间.udp_sendmsg函数主输入参数有四个: (1).kiocb:为了提高对用户地址空间操作效率的数据结 ...

  2. 【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )

    文章目录 I UDP 信息发送接收原理 II UDP 发送和接收端口相同 III UDP 发送信息代码示例 IV UDP 接收信息代码示例 V UDP 服务器端代码示例 VI UDP 客户端代码示例 ...

  3. TCP,UDP发送数据包大小浅析

    MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小 ...

  4. linux c语言 udp 接收和发送数据用同一个端口_网络编程基础入门及TCP,UDP

    1.网络编程入门 1.1 网络编程概述 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享 ...

  5. 25. Python语言 Web 开发 之 Socket 编程 · 第一章 UDP发送与接收数据

    UDP发送与接收数据 本章主题 关键词 前导: 计算机网络的发展及基础网络概念 两台电脑的通信 IP地址介绍及分类 IP地址与IP协议 Windows 和 Linux 查看网卡信息 IP地址分类 以太 ...

  6. pythonrequests发送数据_在python中使用requests 模拟浏览器发送请求数据的方法

    在python中使用requests 模拟浏览器发送请求数据的方法 如下所示: import requests url='http://####' proxy={'http':'http://#### ...

  7. python udp 大文件_Python:通过UDP发送大对象

    我是套接字编程的新手,最近为它挑选了Python.我有几个问题,我似乎无法找到明确的答案.Python:通过UDP发送大对象 我正在研究通过UDP发送数据,并写了一个简单的python脚本来做到这一点 ...

  8. java实现收端和发送端,java实现udp发送端和接收端

    发送端: package demo02; import java.io.IOException; import java.net.DatagramPacket; import java.net.Dat ...

  9. android不能使用udp获取数据解决

    android不能使用udp获取数据 如果你要通过wifi在内网里,用android手机通过udp发送数据到pc上,并在pc上通过java程序将数据返回到手机上,但是确无法获取数据,今天我也遇到了这个 ...

最新文章

  1. 深入理解 runtime
  2. 蚁群用户界面:一群桌面运动的机器人
  3. ruby File类
  4. commons-lang(time应用)
  5. java 设置系统参数_Java如何设置系统参数和运行参数
  6. mongodb报错一例
  7. 先学Oracle还是Java,事前学习过的java和Oracle笔记没删除的都带过来
  8. AudioDestinationNode
  9. 计算机动漫与游戏制作画画教学,科普下动漫制作必须会画画吗
  10. 如何调整mysql严谨度_如何管理 MySQL 的 binlog 收藏
  11. 解决Jenkins上git出现的“ERROR: Error fetching remote repo ‘origin‘”问题
  12. mysql-cluste多少钱,mysql-cluster集群
  13. 中国地图和地方特点介绍
  14. python的文件夹里面有什么_Python的文件及文件夹操作
  15. matlab实现参数方程求导(paradiff函数)
  16. 新版虚拟服务器,新版tplink路由器虚拟服务器(端口映射)设置教程
  17. 基于swiper的移动端H5页面,丰富的动画效果
  18. cassandra vs. voldemort
  19. tr闭包_蓝色的梦 的动态 - SegmentFault 思否
  20. 监听队列中linux方法ss -a,Linux命令:ss命令

热门文章

  1. keepalived 高可用日志说明及实战配置日志路径
  2. 边缘计算+SDN:为物联网腾飞插上翅膀
  3. [翻译]How JavaScript Timers Work
  4. 电影天堂React Native 客户端
  5. js获取页面url中的各项值
  6. AES加密时抛出java.security.InvalidKeyException:#160;Illegal#160;key#160;size#160;or#160;def...
  7. Ubuntu安装docker-ce,vagrant,virtualbox步骤
  8. Expression Blend学习动画基础
  9. 工业云计算在中国工业领域的发展与应用趋势
  10. http://www.fx114.net/qa-24-116329.aspx