java 网络编程-UDP基本步骤

UDP:
需要datagramSocket来进行中间的运输
无连接的传输层协议,提供面向事务的简单不可靠信息传输服务、可能丢失、非常简单、开销小
一切以包为中心
数据传输不用IO流

接收端
Address already in use: Cannot bind同一个协议下端口不允许冲突
1、使用DatagramSocket指定端口 创建接收端
2、准备容器封装成DatagramPacket 包裹
3、阻塞式接受包裹receive(DatagramPacket p);
4、分析数据getData()返回类型为字节数组,getLength()返回数据长度,类型为int
5、释放资源

public class http {

public static void main(String[]args) throws  Exception
{
    System.out.println("接收方启动中...");
    //1、使用DatagramSocket指定端口 创建接收端
    DatagramSocket server=new DatagramSocket(9999);//同一台电脑上端口不要冲突
    //2、准备容器封装成DatagramPacket 包裹
    byte[] container=new byte[1024*60];
    DatagramPacket packet=new DatagramPacket(container,0,container.length);
    //3、阻塞式接受包裹receive(DatagramPacket p);
    server.receive(packet);//阻塞式,有等待时间
    //4、分析数据getData()返回类型为字节数组,getLength()返回数据长度,类型为int
    byte[] datas=packet.getData();
    int len=packet.getLength();
    System.out.println(new String(datas,0,datas.length));
    //5、释放资源
    server.close();
}
}

发送端
1、使用DatagramSocket指定端口 创建发送端
2、准备数据,一定要转成字节数组
3、准备容器封装成DatagramPacket 包裹,需要指定目的地(ip地址和端口)
4、发送包裹send(DatagramPacket p);
5、释放资源

public class client {

public static void main(String[]args) throws IOException
{
    System.out.println("发送启动中...");
    //1、使用DatagramSocket指定端口 创建发送端
    DatagramSocket client =new DatagramSocket(8888);
    //2、准备数据,一定要转成字节数组
    String data="我最帅";
    byte[] datas=data.getBytes();
    //3、准备容器封装成DatagramPacket 包裹,需要指定目的地(ip地址和端口)
    DatagramPacket packet=new DatagramPacket(datas,0,datas.length,new InetSocketAddress("localhost",9999));
    //4、发送包裹send(DatagramPacket p);
    client.send(packet);
    //5、释放资源
    client.close();
}
}

原文地址:https://blog.51cto.com/14437184/2432486

时间: 2024-10-13 08:21:42

java 网络编程-UDP基本步骤的相关文章

JAVA网络编程UDP案例

Java网络编程.UDP案例 发送端 import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; public class SendUDP { public static vo

java 网络编程 UDP TCP

网络编程 网络编程主要用于解决计算机与计算机(手机.平板..)之间的数据传输问题. 网络编程: 不需要基于html页面就可以达到数据之间的传输. 比如: feiQ , QQ , 微信....网页编程: 就是要基于html页面的基础上进行数据的交互的. 比如: 珍爱网. oa(办公自动化). 高考的报告系统... 计算机网络: 分布在不同地域 的计算机通过外部设备链接起来达到了消息互通.资源共享的效果就称作为一个计算机网络.网络通讯的三要素:    1. IP    2. 端口号.    3. 协

Java 网络编程 UDP协议

网络编程 TCP/IP协议:多台计算机网络连接的规则 包括:TCP协议.IP协议.UDP协议和其它协议的协议组 层次结构: 链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤.网线提供的驱动.硬件方面的 网络层:网络层是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络. 传输层:主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议. 应用层:主要负责应用程序的协议,例如HTTP协议.F

JAVA网络编程--UDP通信

首先网络传输数据需了解例如以下三点 1.找到对方IP 2.数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序用数字进行了标识.为了方便称呼这个数字,叫做port,逻辑port 3.  定义通信规则.这个通信规则称为协议. 国际组织定义了通用协议TCP/IP. 127.0.0.1本机回环地址 不易记忆,可用主机名 主机名:localhost 0-65535port范围 0-1024系统使用或保留port .当中mysql的port号为 3306 一.UDP UDP相对于

java 网络编程-UDP图

原文地址:https://blog.51cto.com/14437184/2432470

java 网络编程-UDP基本类型传输(int、boolean、string)

接收端Address already in use: Cannot bind同一个协议下端口不允许冲突1.使用DatagramSocket指定端口 创建接收端2.准备容器封装成DatagramPacket 包裹3.阻塞式接受包裹receive(DatagramPacket p):4.分析数据,将字节数组还原为对应类型getData()返回类型为字节数组,getLength()返回数据长度,类型为int5.释放资源*/ public class http{ public static void m

Java网络编程(UDP程序设计)

//客户端 package org.udp; import java.net.DatagramPacket; import java.net.DatagramSocket; public class UDPClient { public static void main(String[] args) throws Exception{ DatagramSocket ds = null; byte[] buf = new byte[2014]; DatagramPacket dp = null;

Java网络编程 - 基于UDP协议 实现简单的聊天室程序

最近比较闲,一直在抽空回顾一些Java方面的技术应用. 今天没什么事做,基于UDP协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对Java网络编程方面的一个简单回忆. 先看一下效果: 实现的效果可以说是非常非常简单,但还是可以简单的看到一个实现原理. "聊天室001"的用户,小红和小绿相互聊了两句,"聊天室002"的小黑无人理会,在一旁寂寞着. 看一下代码实现: 1.首先是消息服务器的实现,功能很简单: 将客户端的信息(进入了哪一个聊

Java网络编程基础【转】

网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果入门网络编程的话也可以做到这么简单! 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.