zoukankan      html  css  js  c++  java
  • Java实现一个简单的聊天小程序

    服务端代码:

    package com.example.nettypractice.tcp;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.nio.charset.StandardCharsets;
    import java.util.Scanner;
    
    /**
     * @description: TCP服务端
     * @author: YangWanYi
     * @create: 2021-11-24 22:16
     **/
    public class ServerTcp {
        public static void main(String[] args) {
            ServerSocket serverSocket = null;
            Socket accept = null;
            InputStream is = null;
            OutputStream os = null;
            Scanner scanner = new Scanner(System.in);
            try {
                System.out.println("服务端启动成功……");
                serverSocket = new ServerSocket(9999);
                accept = serverSocket.accept();
                System.out.println("接收到客户端的连接请求……");
                String msg;
                os = accept.getOutputStream();
                is = accept.getInputStream();
                byte[] bytes = new byte[1024];
                int len;
                while (true) {
                    System.out.println("请输入:");
                    msg = scanner.nextLine();
                    os.write(msg.getBytes(StandardCharsets.UTF_8));
                    len = is.read(bytes);
                    System.out.println("来自客户端的消息:" + new String(bytes, 0, len));
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    accept.close();
                    serverSocket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
            }
        }
    }

    客户端代码:

    package com.example.nettypractice.tcp;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.nio.charset.StandardCharsets;
    import java.util.Scanner;
    
    /**
     * @description: TCP客户端
     * @author: YangWanYi
     * @create: 2021-11-24 22:25
     **/
    public class ClientTcp {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            Socket clientSocket = null;
            InputStream is = null;
            OutputStream os = null;
            try {
                clientSocket = new Socket("localhost", 9999);
                System.out.println("客户端启动成功……");
                is = clientSocket.getInputStream();
                os = clientSocket.getOutputStream();
                byte[] bytes = new byte[1024];
                String msg;
                int len;
                while (true) {
                    len = is.read(bytes);
                    System.out.println("服务端发来消息:" + new String(bytes, 0, len));
                    System.out.println("请输入:");
                    msg = scanner.nextLine();
                    os.write(msg.getBytes(StandardCharsets.UTF_8));
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    os.close();
                    is.close();
                    clientSocket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
  • 相关阅读:
    POJ2774 Long Long Message
    Lyndon Word相关
    后缀自动机(SAM)
    后缀数组(SA)
    [THUSC2016]补退选
    [HNOI2008]GT考试
    CF1080E Sonya and Matrix Beauty
    [JSOI2008]火星人
    两道FFT题目略解
    网络流概念+EdmondKarp算法+Dinic(Dinitz)
  • 原文地址:https://www.cnblogs.com/ywy8/p/15603011.html
Copyright © 2011-2022 走看看