zoukankan      html  css  js  c++  java
  • UDP通信 Java

    public class UdpServerTest {
    
        /**
         * @param args
         * @throws SocketException
         */
        public static void main(String[] args) throws SocketException {
    
            final DatagramSocket server = new DatagramSocket(41017);
            new Thread(new Runnable() {
    
                @Override
                public void run() {
    
                    try {
                        int port = 41216;
                        InetAddress addr = InetAddress.getByName("10.1.31.156");
                        int i = 1;
                        while (true) {
                            // TODO Auto-generated method stub
                            String sendStr = "Hello ! I'm Server";
                            sendStr = sendStr + " " + i;
                            byte[] sendBuf;
                            sendBuf = sendStr.getBytes();
                            DatagramPacket sendPacket = new DatagramPacket(sendBuf,
                                    sendBuf.length, addr, port);
                            server.send(sendPacket);
                            i++;
                            Thread.sleep(1000);
                        }
                    }
                    catch (SocketException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (UnknownHostException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }).start();
    
            new Thread(new Runnable() {
    
                @Override
                public void run() {
    
                    // TODO Auto-generated method stub
                    try {
                        byte[] recvBuf = new byte[1000];
                        DatagramPacket recvPacket = new DatagramPacket(recvBuf,
                                recvBuf.length);
                        while (true) {
                            server.receive(recvPacket);
                            String recvStr = new String(recvPacket.getData(), 0,
                                    recvPacket.getLength());
                            System.out.println("收到:" + recvStr);
                            Thread.sleep(1000);
                        }
                    }
                    catch (SocketException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }).start();
        }
    }
    public class UdpClientTest {
    
        /**
         * @param args
         * @throws SocketException
         */
        public static void main(String[] args) throws SocketException {
    
            final DatagramSocket client = new DatagramSocket(41216);
            // TODO Auto-generated method stub
            new Thread(new Runnable() {
    
                @Override
                public void run() {
    
                    try {
                        int port = 41017;
                        InetAddress addr = InetAddress.getByName("10.1.31.156");
                        int i = 1;
                        while (true) {
                            // TODO Auto-generated method stub
                            String sendStr = "Hello ! I'm Client";
                            sendStr = sendStr + " " + i;
                            byte[] sendBuf;
                            sendBuf = sendStr.getBytes();
                            DatagramPacket sendPacket = new DatagramPacket(sendBuf,
                                    sendBuf.length, addr, port);
                            client.send(sendPacket);
                            i++;
                            Thread.sleep(1000);
                        }
                    }
                    catch (SocketException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (UnknownHostException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }).start();
    
            new Thread(new Runnable() {
    
                @Override
                public void run() {
    
                    // TODO Auto-generated method stub
                    try {
                        byte[] recvBuf = new byte[1000];
                        DatagramPacket recvPacket = new DatagramPacket(recvBuf,
                                recvBuf.length);
                        while (true) {
                            client.receive(recvPacket);
                            String recvStr = new String(recvPacket.getData(), 0,
                                    recvPacket.getLength());
                            System.out.println("收到:" + recvStr);
                            Thread.sleep(1000);
                        }
                    }
                    catch (SocketException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }).start();
    
        }
    }
  • 相关阅读:
    SCAU 12新生赛 H 拥挤的华农校巴
    C#实现让CPU占用率曲线听你的指挥 可指定运行核心
    追MM与设计模式的有趣见解
    FTP操作类
    怎么知道页面被放大缩小了
    SerialPort同步和异步数据读取
    Java Web 应用程序转换为 ASP.NET
    ASP.NET中进行消息处理(MSMQ)
    解压缩文件类
    怎样成为优秀的软件模型设计者?
  • 原文地址:https://www.cnblogs.com/diyishijian/p/5124400.html
Copyright © 2011-2022 走看看