• java UDP小程序


     1 package com.socket.udp;
     2 
     3 import java.io.ByteArrayInputStream;
     4 import java.io.ByteArrayOutputStream;
     5 import java.io.DataInputStream;
     6 import java.io.DataOutputStream;
     7 import java.io.IOException;
     8 import java.net.DatagramPacket;
     9 import java.net.DatagramSocket;
    10 import java.net.InetSocketAddress;
    11 import java.net.SocketException;
    12 
    13 import org.junit.Test;
    14 
    15 public class TestUDP {
    16     @Test
    17     public void testUDPServer(){
    18         try {
    19             byte[] buf = new byte[1024];
    20             DatagramPacket dp = new DatagramPacket(buf,buf.length); 
    21             DatagramSocket ds = new DatagramSocket(5678);
    22             while(true){
    23                 ds.receive(dp);//阻塞时方法
    24                 ByteArrayInputStream bais = new ByteArrayInputStream(buf);
    25                 DataInputStream dis = new DataInputStream(bais);
    26                 System.out.println(dis.readLong());
    27             }
    28         } catch (SocketException e) {
    29             e.printStackTrace();
    30         } catch (IOException e) {
    31             e.printStackTrace();
    32         }
    33     }
    34     
    35     @Test
    36     public void testUDPClient(){
    37         try {
    38             long n = 99999L;
    39             ByteArrayOutputStream baos = new ByteArrayOutputStream();
    40             DataOutputStream dos = new DataOutputStream(baos);
    41             dos.writeLong(n);
    42             byte[] buf = baos.toByteArray();
    43             DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1",5678));
    44             DatagramSocket ds = new DatagramSocket(9999);
    45             ds.send(dp);
    46             ds.close();
    47         } catch (SocketException e) {
    48             e.printStackTrace();
    49         } catch (IOException e) {
    50             e.printStackTrace();
    51         }
    52     }
    53 }
  • 相关阅读:
    一个粗心造成的死循环
    LinearGradientBrush使用
    一个需求引发的关于平板电脑的思考
    开发照片采集系统中的问题总结
    List<T>的Add方法等
    开发相机拍照组件中需要解决的问题,一月回顾
    ShowDialog使用
    使用ActiveSyn,让WINMBILE的PDA连接WIN2003的杂牌蓝牙
    Jenkins安装教程
    Jmeter连接数据库
  • 原文地址:https://www.cnblogs.com/cjunj/p/2755709.html
Copyright © 2020-2023  润新知