分类: 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. outline详解

    outline这个属性平时用的不太多,最近被问及专门研究一下这个属性的作用. CSS2加进来的outline属性,中文翻译过来是外轮廓. 神马是轮廓? 轮廓,指边缘:物体的外周或图形的外框. 那这样的 ...

  2. LA 6893 The Big Painting(矩阵Hash)

    https://vjudge.net/problem/UVALive-6893 题意: 给出一个小矩阵和大矩阵,在大矩阵中能找到相同的小矩阵. 思路: 矩阵Hash,先对小矩阵计算出它的Hash值,然 ...

  3. mysql术语

    事务 概念:在关系数据库中,一个事物可以是一条sql语句,一组sql语句或整个程序. 特性:事物应该具有4个特性:原子性.一致性.隔离性.持久性.统称为ACID特性. 原子性(A)一个不可分割的工作单 ...

  4. 对reducers 理解

    var reducers = { totalInEuros : function(state, item) { return state.euros += item.price * 0.8974243 ...

  5. js事件在不同浏览器之间的差异

    目录: 1. 介绍 2. 不同浏览器之间的差异 2.1 添加事件的方法 2.2 事件对象event 2.3 event中的属性/方法 3. 总结 1. 介绍 javascript与HTML之间的交互是 ...

  6. pyhon SyntaxError: Non-ASCII character '\xe8' in file xxx on line xx, but no encoding

    import math if __name__ == '__main__':    name1 = raw_input("请输入您的编号:")    print name1 完整的 ...

  7. angularJS---service

    service ng的服务是这样定义的: Angular services are singletons objects or functions that carry out specific ta ...

  8. Truncate a string

    用瑞兹来截断对面的退路! 截断一个字符串! 如果字符串的长度比指定的参数num长,则把多余的部分用...来表示. 切记,插入到字符串尾部的三个点号也会计入字符串的长度. 但是,如果指定的参数num小于 ...

  9. MySQL简单的操作,增删改查

    B/S架构模式与C/S架构模式的区别 B/S=WEB/SERVER C/S=CLIENT/SERVIR B/S:用户通过web浏览器打开域名就能访问服务器server的方式就叫做B/S用户不需要安装任 ...

  10. hdu3549

    题解: 网络流模板题 多组数据 代码: #include<cstdio> #include<cstring> #include<algorithm> #includ ...