zoukankan      html  css  js  c++  java
  • Java中TCP和UDP的helloworld

    TCP

    服务端:

    package com.ysdx.socket1;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class S1Impl0 implements ISocket1 {
    
        ServerSocket server;
        Socket socket;
        PrintWriter writer;
        BufferedReader reader;
        @Override
        public void work() {
            try {
                server=new ServerSocket(5001);
                socket=server.accept();
                writer = new PrintWriter(socket.getOutputStream());
                reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String message=reader.readLine();
                if (message!=null) {
                    System.out.println(message);
                } else {
                    System.out.println("No Message Here!");
                }
                writer.close();
                reader.close();
                socket.close();
                server.close();
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    
    }

    客户端:

    package com.ysdx.socket0;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    public class S0Impl0 implements ISocket0 {
    
        Socket socket;
        PrintWriter writer;
        BufferedReader reader;
    
        @Override
        public void work() {
            try {
                socket = new Socket("127.0.0.1", 5001);
                writer = new PrintWriter(socket.getOutputStream());
                reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                writer.write("hello !");
                writer.flush();
                writer.close();
                reader.close();
                socket.close();
            } catch (UnknownHostException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
    
        }
    
    }

    UDP

    一对一,需要选择合适的超时时间

    package com.ysdx.udp0;
    
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    import java.net.SocketException;
    
    public class UDP0 {
    
        
        public static void main(String[] args) throws IOException {
            InetSocketAddress address;
            DatagramPacket packet;
            DatagramSocket socket;
            byte []buffer=new byte[1024];
            
            address=new InetSocketAddress("localhost", 5002);
            socket=new DatagramSocket(address);
            socket.setSoTimeout(60000);
            packet=new DatagramPacket(buffer, buffer.length);
            socket.receive(packet);
            String message=new String(packet.getData(), 0, packet.getLength());
            System.out.println(message);
    //        String reply="OK";
            byte[] reply="OK".getBytes();
            packet=new DatagramPacket(buffer, buffer.length, packet.getAddress(), packet.getPort());
            packet.setData(reply);
            socket.send(packet);
            socket.close();
            
        }
    }
    package com.ysdx.udp1;
    
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    import java.net.InetSocketAddress;
    
    public class UDP1 {
    
        public static void main(String[] args) throws IOException {
            InetSocketAddress address;
            DatagramPacket packet;
            DatagramSocket socket;
            byte []buffer=new byte[1024];
            
            
            socket=new DatagramSocket();
            socket.setSoTimeout(60000);
            
            byte[] reply="Hello".getBytes();
            packet=new DatagramPacket(buffer, buffer.length, InetAddress.getByName("localhost"), 5002);
            packet.setData(reply);
            socket.send(packet);
            
            packet=new DatagramPacket(buffer, buffer.length);
            socket.receive(packet);
            String message=new String(packet.getData(), 0, packet.getLength());
            System.out.println(message);
    //        String reply="OK";
            
            
            socket.close();
            
        }
    }
  • 相关阅读:
    202011.19
    202011.18
    202011.17
    202011.16
    202011.14
    jdk的下载和配置
    layui中form表单
    JS中utocomplete
    转:JqueryUI学习笔记-自动完成autocomplete
    JSON.parse()与JSON.stringify()的区别
  • 原文地址:https://www.cnblogs.com/afraidToForget/p/6606236.html
Copyright © 2011-2022 走看看