分类: android2011-11-10 10:07 848人阅读 评论(0) 收藏 举报

参考别人一幅原理图。

  1. import java.io.IOException;
  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;
  4. import java.net.InetAddress;
  5. public class UDPClient
  6. {
  7. private DatagramSocket client=null;
  8. private DatagramPacket packet=null;
  9. private InetAddress host=null;
  10. public static int portSend=8888;
  11. public static String name="192.168.142.199";
  12. public UDPClient()
  13. {
  14. try
  15. {
  16. host = InetAddress.getByName(name);
  17. client=new DatagramSocket();
  18. System.out.println("客户端准备就绪");
  19. } catch (Exception e)
  20. {
  21. e.printStackTrace();
  22. }
  23. }
  24. public void UDPClientRun(byte[] buffer) throws IOException
  25. {
  26. host = InetAddress.getByName(name);
  27. packet=new DatagramPacket(buffer,buffer.length, host, portSend);
  28. client.send(packet);
  29. System.out.println("客户端发送消息");
  30. }
  31. public void UDPClientStop()
  32. {
  33. client.close();
  34. }
  35. }
  1. import java.io.IOException;
  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;
  4. public class UDPService
  5. {
  6. private DatagramSocket server =null;
  7. private DatagramPacket dPacket=null;
  8. private byte[] buffer = new byte[640];
  9. public static int portServer=8888;
  10. public UDPService ()
  11. {
  12. try
  13. {
  14. server  = new DatagramSocket(portServer);
  15. dPacket = new DatagramPacket(buffer, buffer.length);
  16. } catch (Exception e)
  17. {
  18. e.printStackTrace();
  19. }
  20. }
  21. public byte[] UDPServiceRun()
  22. {
  23. try
  24. {
  25. server.receive(dPacket);
  26. System.out.println("服务端接收到消息");
  27. } catch (IOException e)
  28. {
  29. e.printStackTrace();
  30. System.out.println("服务端未收到消息");
  31. }
  32. return buffer;
  33. }
  34. public void UDPSeverStop()
  35. {
  36. server.close();
  37. }
  38. public String getClientName()
  39. {
  40. String name="";
  41. name=dPacket.getAddress().toString();
  42. return name;
  43. }
  44. }

UDP示例的更多相关文章

  1. Java Socket InetAddress类 Socket DatagramPacket TCP、UDP示例

    java.net :为实现网络应用程序提供类. InetAddress类 方法摘要 方法摘要 boolean equals(Object obj) : 将此对象与指定对象比较. byte[] getA ...

  2. Linux socket编程示例(最简单的TCP和UDP两个例子)

    一.socket编程 网络功能是Uinux/Linux的一个重要特点,有着悠久的历史,因此有一个非常固定的编程套路. 基于TCP的网络编程: 基于连接, 在交互过程中, 服务器和客户端要保持连接, 不 ...

  3. python前后台tcp/udp通讯示例

    以下代码兼容python2.7+.python3 TCP示例 服务器 -- sever_tcp.py #!/usr/bin/env python #coding=utf-8 import time i ...

  4. J2SE网络编程之 TCP与UDP

    1.什么是TCP TCP(Transmission Control Protocol传输控制协议)是一种面向连接的.可靠的.基于字节流的通信协议,位于传输层.这三个特点中,面向连接就如同打电话,双方的 ...

  5. JAVA NIO工作原理及代码示例

    简介:本文主要介绍了JAVA NIO中的Buffer, Channel, Selector的工作原理以及使用它们的若干注意事项,最后是利用它们实现服务器和客户端通信的代码实例. 欢迎探讨,如有错误敬请 ...

  6. 基于udp的套接字编程

    一,简单明了了解udp套接字编程 客户端: #Author : Kelvin #Date : 2019/1/30 11:07 from socket import * ip_conf=("1 ...

  7. Netty实战十三之使用UDP广播事件

    1.UDP的基础知识 我们将会把重点放在一个无连接协议即用户数据报协议(UDP)上,它通常用在性能至关重要并且能够容忍一定的数据报丢失的情况下. 面向连接的传输(如TCP)管理了两个网络端点之间的连接 ...

  8. Java学习笔记52(网络编程:UDP协议案例)

    InetAddress类: 表示互联网中的IP地址,示例: package demo; import java.net.InetAddress; import java.net.UnknownHost ...

  9. Netty 框架学习 —— UDP 广播

    UDP 广播 面向连接的传输(如 TCP)管理两个网络端点之间的连接的建立,在连接的生命周期的有序和可靠的消息传输,以及最后,连接的有序终止.相比之下,类似 UDP 的无连接协议中则没有持久化连接的概 ...

随机推荐

  1. Import SQL into MySQL with a progress meter

    There is nice tool called pv # On Ubuntu/Debian system $ sudo apt-get install pv # On Redhat/CentOS ...

  2. 在使用Vue.js中使用axios库时,遇到415错误(不支持的媒体类型(Unsupported media type))

    知识点:vue2.0中使用axios进行(put,post请求时),遇到415错误 解决办法:在axios的第三个参数config中,设置请求头信息'Content-Type': 'applicati ...

  3. Spring boot 解决 hibernate no session异常

    启动类中加入 @Beanpublic OpenEntityManagerInViewFilter openEntityManagerInViewFilter(){ return new OpenEnt ...

  4. GDPR或使全球域名whois信息被隐藏

    什么是GDPR? GDPR 全称为 General Data Protection Regulation,是欧盟 2016 年 4 月通过的一项通用数据保护条例(或称“一般数据保护法案”),是 199 ...

  5. JavaScript高级程序设计-读书笔记(7)

    第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串. ...

  6. Centos 查看端口占用情况

    netstat -ntlp 把相应PID kill掉即可

  7. nignx的master进程和worker进程的作用

    ngnix进程启动启动后会有一个master进程和多个worker进程. master进程的主要作用: 1.读取并验证配置信息: 2.创建,绑定及关闭套接字: 3.启动,终止worker进程以及维护w ...

  8. python UI自动化测试

    为了减小维护成本: 1.UI自动化测试需要有较为稳定的环境 2.代码设计合理,那么我们就需要面向对象的设计一个框架,将重复的代码模块化 一.首先总结一下 UI自动化大概要哪些模块 1.config(配 ...

  9. Log4j详细设置说明

    1. 动态的改变记录级别和策略,即修改log4j.properties,不需要重启Web应用,这需要在web.xml中设置一下.2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径 ...

  10. linux-Centos7安装mysql5.7.19

    1.下载mysql 网址: https://dev.mysql.com/downloads/mysql/ 2.选择源码包,通用版点击下载 直接下载就可以了,不用登录 3.解压编译 先安装相关依赖包 y ...