Java之UDP协议 发送与接收简单实现代码

SendDemo:

package com.renhongwei.demo_01;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
/*
 * UDP数据发送端
 */
public class SendDemo {
    public static void main(String[] args) throws IOException {
        // 创建socket对象
        DatagramSocket ds = new DatagramSocket();
        // 创建打包数据
        byte[] bys = "Hello,world".getBytes();
        int length = bys.length;
        String host = "renhongwei-pc";
        InetAddress address = InetAddress.getByName(host);
        int port = 10086;
        DatagramPacket dp = new DatagramPacket(bys,length,address,port);
        // 发送数据
        ds.send(dp);
        // 释放资源
        ds.close();
    }
}

ReceiveDemo:

package com.renhongwei.demo_01;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
/*
 * UDP接收数据端
 */
public class ReceiveDemo {
    public static void main(String[] args) throws IOException {
        // 设置端口
        int port = 10086;
        // 创建socket对象
        DatagramSocket ds = new DatagramSocket(port);
        // 创建数据包(接收容器)
        byte[] bys = new byte[1024];
        int length = bys.length;
        DatagramPacket dp = new DatagramPacket(bys,length);
        // 调用socket方法接收数据
        ds.receive(dp);
        // 获取IP地址
        InetAddress address = dp.getAddress();
        String ip = address.getHostAddress();
        // 解析数据包
        byte[] bys2 = dp.getData();
        int length2 = dp.getLength();
        String str = new String(bys,0,length2);
        System.out.println(ip + "----" + str);
        // 释放资源
        ds.close();
    }
}
时间: 2024-10-10 21:03:39

Java之UDP协议 发送与接收简单实现代码的相关文章

Android Java使用JavaMail API发送和接收邮件的代码示例

JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的jar包(请下载javamail的源文件,官方下载页:http://www.oracle.com/technetwork/java/javamail/index-138643.html):mailapi.jar.定义了收发邮件所使用到的接口API:smtp.jar.包含了发送邮件使用到的类:pop3.

Java中UDP协议的基本原理和简单用法

UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢失. convert()方法是用来转换字节数组和基本类型. /** * 创建基于udp协议的服务接受端 * @author wxisme * */ public class MyServer { public static void main(String[] args) throws IOExce

Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据

1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源  UDP协议接收数据:       • 创建接收端的Socket对象      • 创建数据包,接收数据(接收容器)      • 调用Socket对象的接收方法,接收数据包      • 解析数据包,并显示在控制台      • 释放资源 2. 代码实现 (1)首先我们先写发送端的程序,如下: 1 packag

Java UDP数据报发送与接收 学习

java中DatagramPacket表示存放数据的数据报,DatagramSocket表示接受或发送数据报的套接字. 这两个类所有构成的网络链接是基于UDP协议的. import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class Sender { public static void main(String[] args) { try { // 创

Android(java)学习笔记80:UDP协议发送数据

UDP协议发送数据:我们总是先运行接收端,再运行发送端发送端: 1 package cn.itcast_02; 2 3 import java.io.IOException; 4 import java.net.DatagramPacket; 5 import java.net.DatagramSocket; 6 import java.net.InetAddress; 7 /* 8 * UDP协议发送数据: 9 * A:创建发送端Socket对象 10 * B:创建数据,并把数据打包 11 *

java使用UDP协议传输数据

UDP协议(User Datagram Protocol,用户数据报协议)不同于TCP协议,它是不可能靠的,但是它比TCP协议具有更快的传输速度,UDP发送的数据单元称为数据报,当网络传输UDP传输UDP数据报是无法保证数据能够到达目的地,也无法保证按发送的顺序到达目的地,也就是说先发送了"hello",再发送了"world",但接收方可能会先收到"world",再收到"hello",也有可能收不到数据,为什么呢?因为它是不可

JAVA学习第六十课 — UDP协议 &基于多线程模拟简单的QQ聊天程序

UDP传输 UDP有发送端和接受端,有两大类,DatagramSocket.DatagramPacket 建立发送端和接收端 建立数据包 调用Socket的接收发送方法 关闭Socket 注意:发送端和接收端是两个独立的运行程序 UDP发送端演示 DatagramPacket(byte[] buf, int length, InetAddress address, int port) 构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号. public static voi

JAVA的UDP协议交互信息

由于要做app的UDP协议交互,所以就特地学习了下,其实也就类似于java的server和socket,下面就写了个简单的demo 服务端: package com.test1; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException;

ios开发UDP协议发送广播寻找设备

代码链接  http://i.cnblogs.com/EditPosts.aspx?opt=1 #import "AsyncUdpSocket.h" #import <ifaddrs.h> #import <arpa/inet.h> //做udp 请求 -(void)MakeUDP { //实例化 AsyncUdpSocket *socket=[[AsyncUdpSocket alloc]initWithDelegate:self]; //启动本地端口 [soc