java发送接收UDP数据包:字符串,byte[]字节数组,文件等
来源:互联网 发布:java动态数组赋值 编辑:程序博客网 时间:2024/06/06 12:33
全栈工程师开发手册 (作者:栾鹏)
java教程全解
java发送接收UDP数据包,数据内容为byte[],包括一切可以转换为byte[]的内容。
测试代码
public static void main(String args[]) { sendUDPfile("127.0.0.1",1234,"D:\\test1.zip"); //发送文件 //启动新线程发送数据, new Thread(new Runnable() { @Override public void run() { sendUDP("127.0.0.1",9999,"hello".getBytes()); //发送字节数据 } }).start(); //在主线程中接收数据 receiveUDP(9999); //接收数据 }
使用UDP发送文件
public static void sendUDPfile(String host,int port,String filepath){ try { File f=new File(filepath); byte[] message; // 要传送的数据 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 < len)&& (n != -1)); sendUDP(host, port, message); } catch (Exception e) { e.printStackTrace(); }}
使用UDP发送byte[]数据流
public static void sendUDP(String host,int port,byte[] message) { try { // 根据主机名称得到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); }}
从指定端口接收UDP数据
public static void receiveUDP(int port) { try { byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); DatagramSocket socket = new DatagramSocket(port); while (true) { socket.receive(packet); String s = new String(buffer, 0, 0, packet.getLength()); System.out.println("接收到数据:"+s); packet = new DatagramPacket(buffer, buffer.length); } } catch (Exception e) { } }
阅读全文
0 0
- java发送接收UDP数据包:字符串,byte[]字节数组,文件等
- java apache mina 2.0 发送和接收 字节数组 byte[]
- 通过UDP发送和接收数据包
- 发送/接收数据包与发送/接收字节的区别.
- [Java]Android发送UDP数据包
- TCP、UDP 发送、接收0字节问题
- java发送接收组播(多播)数据包(UDP包)
- Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串
- Java byte[]字节数组转换为String字符串的注意事项
- Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串
- 获取文件字节数组byte[]
- tcp和udp能否发送0字节的数据包
- java实现zlib压缩解压缩:文件、byte[]字节数组,数据流
- java实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩
- java接收到的byte数组转成16进制字符串和16进制字符串转byte数组
- android byte字节数组转换十六进制字符串
- 利用UDP协议发送与接收文件
- 发送udp数据包
- Integer与int的区别
- leetcode.array--41. First Missing Positive
- PTA 6-10 阶乘计算升级版
- LCA之树链剖分 zhn_666的lca 模板
- Spring学习笔记:使用代理实现AOP
- java发送接收UDP数据包:字符串,byte[]字节数组,文件等
- 欢迎使用CSDN-markdown编辑器
- Huazie上传的资源免费下载
- <10/8>集训周记
- 【HDU 5952 Counting Cliques】& DFS
- linuxC语句
- android自定义view
- 爬格子呀--2048
- Androidstudio的常见快捷