精华内容
下载资源
问答
  • java udp

    2019-06-18 12:06:17
    import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException; /*发送端 * 1 使用DatagramSocket 指定端口 创建...

    发送端(传输字符串)

    package study_04;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    import java.net.SocketException;
    
    /*发送端
     * 1 使用DatagramSocket 指定端口 创建发送端
     * 2 准备数据 转成字节数组
     * 3 封装成DatagramPacket包裹 指定目标地址
     * 4 发送包裹 send(DatagramPacket p)
     * 5 释放资源
     * 
     * 
     */
    public class UdpClient {
    	public static void main(String[] args) throws Exception {
    		System.out.println("发送端启动中");
    		// 1 使用DatagramSocket 指定端口 创建发送端
    		DatagramSocket client = new DatagramSocket(8888);
    		//2 准备数据 转成字节数组
    		String msg = "测试语句";
    		byte[] datas = msg.getBytes();
    		//3 封装成DatagramPacket包裹 指定目标地址
    		DatagramPacket p = new DatagramPacket(datas, 0,datas.length,new InetSocketAddress("localhost",9999));
    		//4 发送包裹 send(DatagramPacket p)
    		client.send(p);
    		//5 释放资源
    		client.close();
    		
    	}
    }
    

    接收端(字符串)

    package study_04;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.SocketException;
    
    /*接收端
     * 1 使用DatagramSocket 指定端口 创建接收端
     * 2 准备容器 封装成DatagramPacket包裹 
     * 3 阻塞式接收数据 recieve(DatagramPacket p)
     * 4 分析数据
     * byte[] getData()
     * 		  getLength()
     * 5 释放资源
     */
    public class UdpServer {
    	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 * 10];
    		DatagramPacket p = new DatagramPacket(container, 0,container.length);
    		//3 阻塞式接收数据 recieve(DatagramPacket p)
    		server.receive(p);
    		//4 分析数据
    		byte[] datas = p.getData();
    		int len = datas.length;
    		System.out.println(new String(datas,0,len));
    		//5 释放资源
    		server.close();	
    	}
    }
    

     

     

    UDP文件传输

    package study_04;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import study_04.IOutils;
    public class UdpFileServer {
    	public static void main(String[] args) throws Exception {
    		System.out.println("接收端启动中");
    		DatagramSocket server = new DatagramSocket(9999);
    		byte[] container = new byte[1024 * 60];
    		DatagramPacket p = new DatagramPacket(container,0,container.length);
    		server.receive(p);
    		byte[] datas = p.getData();
    		IOutils.byteArrayToFile(datas, "2.jpg");
    		server.close();
    	}
    }
    
    package study_04;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    import java.net.SocketException;
    import study_04.IOutils;
    
    public class UdpFileClient {
    	public static void main(String[] args) throws Exception {
    		System.out.println("发送端启动中.....");
    		DatagramSocket client = new DatagramSocket(8888);
    		byte[] datas = IOutils.fileToByteArray("1.jpg");
    		DatagramPacket p = new DatagramPacket(datas, 0,datas.length,new InetSocketAddress("localhost",9999));
    		client.send(p);
    		client.close();
    	}
    }
    
    package study_04;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    public class IOutils {
    	public static byte[] fileToByteArray(String filePath) {
    		File src = new File(filePath);
    		FileInputStream fis = null;
    		ByteArrayOutputStream baos = null;
    		try {
    			fis = new FileInputStream(src);
    			baos = new ByteArrayOutputStream();
    			byte[] flush = new byte[1024 * 10];
    			int len = -1;
    			while ((len = fis.read(flush)) != -1) {
    				baos.write(flush,0,len);
    			}
    			baos.flush();
    			return baos.toByteArray();
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {
    			try {
    				if (fis != null) {					
    					fis.close();
    				}
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			try {
    				if (baos != null) {
    					baos.close();
    				}
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		return null;
    	}
    	
    	
    	public static void byteArrayToFile(byte[] src,String destPath) {
    		File dest = new File(destPath);
    		ByteArrayInputStream bais = null;
    		FileOutputStream fos = null;
    		try {
    			fos = new FileOutputStream(dest);
    			bais = new ByteArrayInputStream(src);
    			byte[] flush = new byte[1024 * 10];
    			int len = -1;
    			while ((len = bais.read(flush)) != -1) {
    				fos.write(flush,0,len);
    			}
    			fos.flush();
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {
    			try {
    				if (fos != null) {
    					fos.close();					
    				}
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}try {
    				if (bais!= null) {
    					bais.close();
    				}
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    
    	}
    }
    
    

     

    展开全文
  • Java UDP

    2016-05-23 16:40:48
    /** * */ ...import java.net.*; /** * @author Administrator * */ public class UDPSender { /** * @param args * @throws Exception */ public static void main(String[] args)
    /**
     * 
     */
    package shiyan2;
    import java.net.*;
    
    /**
     * @author Administrator
     *
     */
    public class UDPSender {
    
    	/**
    	 * @param args
    	 * @throws Exception 
    	 */
    	public static void main(String[] args) throws Exception {
    		// TODO Auto-generated method stub
         String str="这是通过UDP发来的数据,请接收!";
         byte[] b=str.getBytes();
         DatagramPacket packet=new DatagramPacket(b, b.length, new InetSocketAddress("localhost", 6666));
         DatagramSocket socket=new DatagramSocket(5555);
         socket.send(packet);
         socket.close();
    	}
    
    }
    

    接收端

    package shiyan2;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.SocketException;
    
    /**
     * @author Administrator
     *
     */
    public class UDPReceiver {
    
    	/**
    	 * @param args
    	 * @throws Exception 
    	 */
    	public static void main(String[] args) throws Exception {
    		// TODO Auto-generated method stub
          byte[] b=new byte[1024];
          DatagramPacket packet=new DatagramPacket(b, b.length);
          DatagramSocket socket=new DatagramSocket(6666);
          socket.receive(packet);
          String str=new String(b);
          System.out.println("收到: "+str);
          socket.close();
    	}
    
    }


    展开全文
  • java udp 简单实现------代码:* 运行方法:直接 运行 UdpTest.java 的 main 函数 即可,* udp serverpackage eric.j2se.net.udp;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net....

    java udp 简单实现

    ------

    代码:

    * 运行方法:

    直接 运行 UdpTest.java 的 main 函数 即可,

    * udp server

    package eric.j2se.net.udp;

    import java.net.DatagramPacket;

    import java.net.DatagramSocket;

    import java.net.InetSocketAddress;

    import java.nio.ByteBuffer;

    /**

    * udp server

    *

    * @author eric

    * @date 2011-2-20 下午05:05:55

    */

    public class UdpServer implements Runnable {

    private int port;

    public UdpServer(int port) {

    this.port = port;

    }

    public void run() {

    try {

    // listening at port for udp request

    DatagramSocket server = new DatagramSocket(new InetSocketAddress(port));

    byte[] bs = new byte[4];

    ByteBuffer bbuf = null;

    DatagramPacket data = new DatagramPacket(bs, bs.length);

    server.setSoTimeout(1000 * 10); // set timeout

    while (true) { // 一直监听

    server.receive(data);

    bbuf = ByteBuffer.wrap(bs, 0, 4);

    String s = "receive " + data.getData().length + " byte data,value: " + bbuf.getInt();

    System.out.println(s);

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    public static void main(String[] args) {

    new Thread(new UdpServer(11111)).start();

    }

    }

    * udp client

    package eric.j2se.net.udp;

    import java.net.DatagramPacket;

    import java.net.DatagramSocket;

    import java.net.InetSocketAddress;

    /**

    * udp client

    *

    * @author eric

    * @date 2011-2-20 下午05:15:05

    */

    public class UdpClient implements Runnable {

    private int port;

    public UdpClient(int port) {

    this.port = port;

    }

    public void run() {

    try {

    DatagramSocket client = new DatagramSocket();

    byte[] bs = new byte[4];

    InetSocketAddress isa = new InetSocketAddress("localhost", port);

    DatagramPacket data = new DatagramPacket(bs, bs.length);

    data.setSocketAddress(isa);

    for (int i = 0; i < 10; i++) {

    data.setData(int2bytes(i));

    client.send(data);

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    static byte[] int2bytes(int num) {

    byte[] b = new byte[4];

    for (int i = 0; i < 4; i++) {

    b[i] = (byte) (num >>> (24 - i * 8));

    }

    return b;

    }

    }

    * test

    package eric.j2se.net.udp;

    /**

    * test udp

    *

    * @author eric

    * @date 2011-2-20 下午05:43:06

    */

    public class UdpTest {

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

    int port = 11111;

    new Thread(new UdpServer(port)).start();// start udp server,listen request

    new Thread(new UdpClient(port)).start();// start udp client,send data

    }

    }

    *

    ------

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2011-02-20 18:36

    浏览 9879

    评论

    展开全文
  • Java UDP聊天程序

    2020-08-10 10:13:14
    Java UDP聊天程序
  • 下面要给大家分享的是一个java udp发送数据的实例,有具体的代码示例,对这个比较感兴趣的小伙伴可以来看看哦。java基于UDP发送数据,先对文件进行读取,之后,再依据主机名称得到IP地址,用数据和地址创建数据报文...

    下面要给大家分享的是一个java udp发送数据的实例,有具体的代码示例,对这个比较感兴趣的小伙伴可以来看看哦。

    java基于UDP发送数据,先对文件进行读取,之后,再依据主机名称得到IP地址,用数据和地址创建数据报文包,创建数据报文套接字并且通过它传送,发送字符串。

    代码:import java.io.*;

    import java.net.*;

    public class UDPSend

    {

    public static final String usage =

    "Usage: java UDPSend   ...\n" +

    "   or: java UDPSend   -f ";

    public static void main(String args[])

    {

    try

    {

    // 检查参数的个数

    if (args.length 

    throw new IllegalArgumentException("Wrong number of args");

    // 解析参数

    String host = args[0];

    int port = Integer.parseInt(args[1]);

    byte[] message; // 要传送的数据

    if (args[2].equals("-f"))

    { // 传送文件

    File f = new File(args[3]);

    int len = (int) f.length(); // 文件长度

    message = new byte[len]; // 建立缓冲区

    FileInputStream in = new FileInputStream(f);

    int bytes_read = 0, n;

    do { // 从文件中读取

    n = in .read(message, bytes_read, len - bytes_read);

    bytes_read += n;

    } while ((bytes_read 

    }

    else

    { //  发送字符串

    String msg = args[2];

    for (int i = 3; i 

    message = msg.getBytes();

    }

    // 根据主机名称得到IP地址

    InetAddress address = InetAddress.getByName(host);

    // 用数据和地址创建数据报文包

    DatagramPacket packet = new DatagramPacket(message, message.length

    , address, port);

    // 创建数据报文套接字并通过它传送

    DatagramSocket dsocket = new DatagramSocket();

    dsocket.send(packet);

    dsocket.close();

    }

    catch (Exception e)

    {

    System.err.println(e);

    System.err.println(usage);

    }

    }

    }

    以上的udp发送数据例子你都了解了吗?你还想了解更多的java实例吗?请继续关注奇Q工具网来了解吧,更多java程序代码例子可以为你分享。

    推荐阅读:

    展开全文
  • 之前给大家分享了javaudp发送数据例子,那么下面就再继续给大家分享几个简单的javaudp例子,一起来看看吧。服务端: 监听端口(5051),接收数据importjava.io.*;importjava.net.*;importjava.util.Scanner;...
  • Java UDP编程

    2019-01-02 23:56:53
    Java UDP编程1. Java UDP编程2. 发送和接收端3. demo 1. Java UDP编程 类 DatagramSocket 和 DatagramPacket 实现了基于 UDP 协议网络程序。 UDP数据报通过数据报套接字 DatagramSocket 发送和接收,系统...
  • 我正在使用Netbeans IDE尝试在客户端和服务器之间建立UDP连接,这是一个简单的程序,UDPClient将字符串发送到UDPServer,服务器将字符串大写并将其发送回客户端.我做了客户端和服务器端在一个单独的项目中.我的客户端...
  • 项目总结22:Java UDP Socket数据的发送和接收1-先上demo客户端(发送数据)packagecom.hs.pretest.udp;importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net....
  • java UDP通信

    千次阅读 2018-10-28 19:15:24
    java UDP通信 一、相关知识学习   UDP为用户数据报协议,在java中操纵UDP使用JDK中java.net包下的DatagramSocket和DatagramPacket类,可以方便的控制用户数据报文。DatagramPacket类将数据字节填充到UDP包中,这...
  • java udp 实现简单实例

    2016-09-12 20:20:40
    java udp 简单实例 实现
  • java udp编程

    2012-11-08 20:06:38
    运用java udp实现数据包通讯,多线程实现服务器端与多个客户端互相通讯。
  • java udp打洞代码实例

    2017-12-05 15:57:56
    基于java udp打洞代码可以直接运行,对刚刚接触这方面的同志,会有一定帮助。 基于java udp打洞代码可以直接运行,对刚刚接触这方面的同志,会有一定帮助。 基于java udp打洞代码可以直接运行,对刚刚接触这方面的...
  • JAVA udp 协议编程

    2015-07-23 14:18:00
    JAVA udp 协议编程文档,包括类的说明和简单案例
  • java Udp编程

    2011-10-13 09:51:37
    java UDPUDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能 UDP在发送数据之前不需要连接。 UDP 的主机不需要维持复杂的连接状态表。 UDP 用户数据报只有8个字节的首部开销
  • java udp多人聊天室

    2018-06-12 11:20:32
    基于Java udp协议实现的图形界面的多人聊天室 ps:客户端登陆是输入的用户名只能是两个字的姓名
  • Java UDP通信示例

    2020-01-20 14:15:40
    文章目录Java UDP通信示例Server端Client Java UDP通信示例 Server端 初始化DatagramSocket:port和ip 用buffer初始化DatagramPacket 接收DatagramPacket 关闭socket import java.io.IOException; import java.net....
  • package udp;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import java.util.Calendar;public class ...
  • 本篇文从以下几点来实现并演示一个使用UDP协议进行通信的示例。1.什么是UDP 2.UDP在网络中是怎样实现通信的 3.UDP的特点及常见的应用场景 4.代码示例 首先来看什么是UDPUDP 是User Datagram Protocol的简称, 中文名...
  • 基于JavaUDP开发的TFTp

    2017-06-12 10:20:55
    基于JavaUDP开发的TFTp
  • 场景:JAVA(UDP编程中)获取目前机器的空闲端口号JAVA(UDP编程中)获取当前机器的空闲端口号在项目中需要获取当前机器的空闲端口号.查阅资料实现如下:// 获取通信端口号public static int getPort() {DatagramSocket s...
  • posted on 2008-02-15 16:19 honzeland 阅读(7685) 评论(4) 编辑 收藏 所属分类: Java评论#re: 实现java UDP Server --2008农历新年第一贴(原创)2008-04-24 10:19yoson你用的Mina什么版本?Mina2.0-M1中能this....
  • java UDP实例

    2014-10-31 10:28:15
    java udp 实例
  • JAVA UDP 穿透技术,Java实现的udp打洞demo、Java实现的udp打洞demo、Java实现的udp打洞demo、Java实现的udp打洞demo。
  • 本文仅实现了客户端发送字符串到服务端,服务端将其转换为大写,再发送给服务端Java 比c++简单明了得多,直接看代码就可以弄懂了。服务端import java.io.IOException;import java.net.DatagramPacket;import java...
  • java UDP通讯实例

    2008-12-30 21:01:45
    java UDP通讯实例java UDP通讯实例
  • JAVA UDP NAT 原理

    2013-03-20 14:05:01
    JAVA UDP NAT 原理 ,有图有真相,有代码示例,详细解说
  • 主要介绍了java UDP通信客户端与服务器端,结合实例形式分析了java基于UDP通信的客户端与服务器端具体实现技巧及相关操作注意事项,需要的朋友可以参考下
  • 零、发现问题用Java写了个UDP收发程序,发现中文有问题!package socket;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net...
  • SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现。websocket_study.rar 为springMVC版本的socket实现 websocket02.rar 里面包含tomcat的websocket实现+java socket双向通信...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,047
精华内容 5,618
热门标签
关键字:

javaudp

java 订阅