• Netty 20211116 socket clientserver TCP/UDP


    1、TCP..........................................

     

     

     

     

     

     

     

     

    实例

     SocketTcpClient/SocketTcpSever

    public class SocketTcpClient {

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

        final Socket socket=new Socket();
        SocketAddress address=new InetSocketAddress(InetAddress.getLocalHost(),8080);
        socket.connect(address);
        PrintWriter socketOut=new PrintWriter(socket.getOutputStream());
        BufferedReader sockerIn=new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String sendStr="客户端向服务器端:你们第六期就业薪资突破多少";
        socketOut.write(sendStr);
        socketOut.flush();
        String receiveStr=sockerIn.readLine();
        System.out.println("服务器端问题:"+receiveStr);
        socketOut.close();
        sockerIn.close();
        socket.close();
      }
    }


    public class SocketTcpServer {


      public static void main(String[] args) throws IOException {
        ServerSocket serverSocket=new ServerSocket();
        SocketAddress address=new InetSocketAddress(InetAddress.getLocalHost(),8080);
        serverSocket.bind(address);
        System.out.println("等客户端发送信息......");
        Socket accept=serverSocket.accept();
        PrintWriter socketOut=new PrintWriter(accept.getOutputStream());
        byte buf[]=new byte[1024];
        if(accept.getInputStream().read(buf)>0){
          System.out.println("服务端接受客户端消息:"+new String(buf));
        }

        String sendStr="服务器回复 客户端 突破百W薪资";
        socketOut.write(sendStr);
        socketOut.flush();
        socketOut.close();
        accept.close();
        serverSocket.close();
      }
    }

    2、UDP..........................................

     

     

     

     

    实例

     SocketUdpClient/SocketUdpSever

      public class SocketUdpClient {

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

        /*
        DatagramSocket socket = null;
        try {

          socket = new DatagramSocket();
          byte[] buf = "hello,UDP".getBytes();
          InetAddress address;
          address = InetAddress.getByName("localhost");

          DatagramPacket packet = new DatagramPacket(buf, buf.length, address,8080);

          socket.send(packet);
        } catch (Exception e) {
          e.printStackTrace();
        }finally{

        socket.close();
      }*/

        InetAddress address=InetAddress.getByName("127.0.0.1");
        int port=8080;
        byte data[]="向服务端发送数【我来自客户端,我来自客户端】?".getBytes();
        DatagramPacket packet=new DatagramPacket(data,data.length,address,port);
        DatagramSocket socket=new DatagramSocket();
        socket.send(packet);

        byte data2[]=new byte[1024];
        DatagramPacket packet2=new DatagramPacket(data2,data2.length);
        socket.receive(packet2);
        String reply=new String(data2,0,packet2.getLength());
        System.out.println("我是客户端,服务端说:"+reply);
        socket.close();
      }

      public class SocketUcdServer {
        public static void main(String[] args) throws IOException {

          DatagramSocket socket=new DatagramSocket(8080);
          byte data[]=new byte[1024];
          DatagramPacket packet=new DatagramPacket(data,data.length);
          System.out.println("******服务端已启动,等客户端发数据");
          socket.receive(packet);
          String info=new String(data,0,packet.getLength());
          System.out.println("我是服务器,客户端说:"+info);
          socket.close();
        }

      }

  • 相关阅读:
    Vue 组件化开发之插槽
    Vue 组件化开发
    Vue 双向绑定
    Vue 数组响应
    Vue 分支循环
    万字长文,详解推荐系统领域经典模型FM因子分解机
    操作失误不要慌,这个命令给你的Git一次反悔的机会
    codeforces 1425E,一万种情况的简单题
    计算机专业的学生要怎样做才能避免成为低级的码农?
    推荐系统,深度论文剖析GBDT+LR
  • 原文地址:https://www.cnblogs.com/smallfa/p/15565695.html
Copyright © 2020-2023  润新知