Java 基于UDP协议实现消息发送

发短信:不用连接,但需要知道对方的地址,客户端、服务端没有明确的界限,可以说没有客户端、服务端一说。

发送端

package lesson03;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * 发送端
 */
public class UdpClientDemo1 {

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

    //1、建立一个 Socket
    DatagramSocket socket = new DatagramSocket();

    /**
     * 2、建个包
     */

    //需要发送的消息
    String msg = "你好啊,服务器!";

    //发送地址
    InetAddress localhost = InetAddress.getByName("localhost"); //主机
    //发送端口
    int port = 9090;

    /**
     * 五个参数:
     * @param  buf  msg.getBytes():需要发送的数据包
     * @param  offset  0:数据偏移量
     * @param  length  msg.getBytes().length:数据长度
     * @param  address  localhost:目标地址
     * @param  port  port:目标端口
     */
    DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, port);

    //3、发送包
    socket.send(packet);

    //4、关闭流
    socket.close();
  }

}

接收端

package lesson03;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * 接收端
 */
public class UdpServerDemo1 {

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

    //开放端口
    DatagramSocket socket = new DatagramSocket(9090);

    //接收数据包
    byte[] buffer = new byte[1024];
    DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);

    //接收
    socket.receive(packet); //阻塞接收

    //输出数据包地址
    System.out.println(packet.getAddress().getHostAddress());
    /**
     * 输出数据包数据
     * packet:Data 类型
     * 通过构造器转成 String 类型:new String();
     */
    System.out.println(new String(packet.getData(), 0, packet.getLength()));

    //关闭连接
    socket.close();

  }

}

以上就是Java 基于UDP协议实现消息发送的详细内容,更多关于Java 消息发送的资料请关注我们其它相关文章!

(0)

相关推荐

  • python实现udp聊天窗口

    要与对方实现通讯,有udp和tcp两种方式,像我们的qq,就是udp和tcp两种方式共存的,不过现在qq正在逐步的转化为tcp服务器. 下面是,用udp实现的聊天窗口. import socket def send_msg(upd_socket): """发送消息""" # 获取要发送的内容 dest_ip = input("请输入对方的ip地址:") dest_port = int(input("请输入对方的端口号

  • python实现的多任务版udp聊天器功能案例

    本文实例讲述了python实现的多任务版udp聊天器.分享给大家供大家参考,具体如下: 说明 编写一个有2个线程的程序 线程1用来接收数据然后显示 线程2用来检测键盘数据然后通过udp发送数据 要求 实现上述要求 总结多任务程序的特点 参考代码: import socket import threading def send_msg(udp_socket): """获取键盘数据,并将其发送给对方""" while True: # 1. 从键盘输入

  • Python树莓派学习笔记之UDP传输视频帧操作详解

    本文实例讲述了Python树莓派学习笔记之UDP传输视频帧操作.分享给大家供大家参考,具体如下: 因为我在自己笔记本电脑上没能成功安装OpenCV-Contrib模块,因此不能使用人脸识别等高级功能,不过已经在树莓派上安装成功了,所以我想实现把树莓派上采集的视频帧传输到PC的功能,这样可以省去给树莓派配显示屏的麻烦,而且以后可能可以用在远程监控上. 1 UDP还是TCP 首先考虑用哪种传输方式,平常TCP用的非常多,但是像视频帧这种数据用TCP不是太合适,因为视频数据的传输最先要考虑的是速度而不

  • python实现UDP协议下的文件传输

    本文实例为大家分享了python实现UDP文件传输的具体代码,供大家参考,具体内容如下 UDP协议下文件传输: 服务端 import socket count = 0 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_addr = ('127.0.0.1',9999) s.bind(server_addr) print('Bind UDP on 9999...') while True: if count == 0: data

  • Python实现基于socket的udp传输与接收功能详解

    本文实例讲述了Python实现基于socket的udp传输与接收功能.分享给大家供大家参考,具体如下: udp的传输与接收 windows网络调试助手下载:https://pan.baidu.com/s/1IwBWeAzGUO1A3sCWl20ssQ 提取码:68gr 或者点击此处本站下载. 一.基本用法 1.创建套接字 udp_socket = socket.socket(socket.AF_INET,cosket.SOCK_DGRAM) localaddr = ("",port)

  • python实现一个简单的udp通信的示例代码

    什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. python创建套接字 socket.socket([family[, type[, proto]]]) 参数解析: family: AF_UNIX(适用跨机通信) 或 AF_INET(IPv4)(适用本机通信) type: 套接字类型,可以根据是面向连接的还是非连接分为 SOCK_STREAM(TCP) 或 SO

  • python实现udp传输图片功能

    本文实例为大家分享了python实现udp传输图片的具体代码,供大家参考,具体内容如下 首先要了解UDP的工作模式 对于服务器,首先绑定IP和端口,本机测试的时候可以使用127.0.0.1是本机的专有IP,端口号 大于1024的是自定义的,所以用大于1024的端口号,然后接收客户端数据,处理,返回 对于客户端,UDP不用建立连接,只管发送不管接收到没有,所以可以直接对服务器的IP地址和端口号发送信息,然后等待应答. 注意传输的数据是二进制流数据,所以要找方法把需要传输的数据编码成二进制码流,传过

  • Python udp网络程序实现发送、接收数据功能示例

    本文实例讲述了Python udp网络程序实现发送.接收数据功能.分享给大家供大家参考,具体如下: 1. udp网络程序-发送数据 创建一个基于udp的网络程序流程很简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 代码如下: #coding=utf-8 from socket import * # 1. 创建udp套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 2. 准备接收方的地址 # '192.168.1.103'表示目的ip

  • 详解python UDP 编程

    前面我们讲了 TCP 编程,我们知道 TCP 可以建立可靠连接,并且通信双方都可以以流的形式发送数据.本文我们再来介绍另一个常用的协议–UDP.相对TCP,UDP则是面向无连接的协议. UDP 协议 我们来看 UDP 的定义: UDP 协议(User Datagram Protocol),中文名是用户数据报协议,是 OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务. 从这个定义中,我们可以总结

  • python UDP(udp)协议发送和接收的实例

    需要建立2个文件,一个作为客户端,一个作为服务端 文件一 作为客户端client,文件二作为服务端server udp的特点是不需要建立连接 文件一客户端 #不需要建立连接 import socket #创建socket对象 #SOCK_DGRAM udp模式 s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #发送数据 字节 s.sendto("你好".encode(),("169.254.184.146",800

  • python3通过udp实现组播数据的发送和接收操作

    本文主要通过对海康摄像头进行抓包,模拟发送了udp包,并抓取摄像头返回的数据包,解析并提取相关信息. 通过抓包发现,海康摄像头发送.接收数据使用udp协议,后来比较发现,使用python模拟起来比较简单.由于摄像头内置了udp协议的server端程序,本文主要使用python模拟客户端发送udp数据包. 客户端代码 import socket import re ANY = "0.0.0.0" DES_IP = "239.255.255.250" PORT = 37

  • 对python中UDP,socket的使用详解

    讲到UDP和TCP之前咱们先了解一下socket Socket socket简称套接字,是进程间通信的一种方式.与其他的方式的进程间的通讯的方式不同的是,socket是实现了主机间进程间的通讯.我们网络上的各种服务都是基于socket来完成的.例如QQ.微信. 怎么样创建socket呢. 创建一个tcpsocket: s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 创建一个UDP类型的socket; # # 创建套接字 # udpSock

  • Python实现UDP程序通信过程图解

    运行流程:编辑好代码后,通过cmd打开文件执行.例:C:\Users\小李酷少>C:\Users\小李酷少\Desktop\发送端.py hello 易见问题:在运行程序的时候容易出现"请求的地址无效"的情况: 这是因为在编辑代码时候输入的ip地址不正确. 解决方法: 打开cmd,输入ipconfig,查看本机ip地址.如下图 之后在代码行修改为正确的IP地址就好啦. 1.代码 (1)接收端代码: import socket #使用IPV4协议,使用UDP协议传输数据 s=soc

随机推荐