美文网首页
JavaIO流之Socket入门编程-发送文本

JavaIO流之Socket入门编程-发送文本

作者: Wpixel | 来源:发表于2018-06-19 18:16 被阅读0次

    子曰:“学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?”

    TCP/IP协议,这里就不讲了,对协议不了解的这边请 ✈✈✈✈✈ TCP协议详解

    服务端

    public static void main(String[] args) throws Exception {
        //指定端口
        int port = 5555;
        ServerSocket server = new ServerSocket(port);
        
        System.out.println("服务已经启动...");
        
        //使用线程池
        ExecutorService threadPool = Executors.newFixedThreadPool(100);
        
        while(true){
            Socket socket = server.accept();
            
            Runnable runnable = new Runnable() {
                @Override
                public void run() {
                    try {
                        //建立好连接后,从socket中获取输入流,并建立缓冲区进行读取
                        InputStream in = socket.getInputStream();
                        byte[] bytes = new byte[1024];
                        int len;
                        StringBuffer sb = new StringBuffer();
                        while((len = in.read(bytes)) != -1){
                            sb.append(new String(bytes, 0, len, "UTF-8"));
                        }
                        System.out.println("客户端传递的数据: "+sb.toString());
                        in.close();
                        socket.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            };
            threadPool.submit(runnable);
        }
    }
    

    客户端

    public static void main(String[] args) throws Exception {
        //ip地址
        String host = "localhost";
        //监听的端口
        int port = 5555;
        //与服务端建立连接
        Socket socket = new Socket(host, port);
        //获取连接获取输出流
        OutputStream os = socket.getOutputStream();
        String message = "海草";
        os.write(message.getBytes("UTF-8"));
        //关闭输出流
        os.close();
        //关闭socket
        socket.close();
    }
    

    客户端向服务端发送数据,服务端打印接受的数据

    服务已经启动...
    客户端传递的数据: 海草


    作者是一名自由程序员,住在上海,喜欢音乐、小说、旅行、以及编程。

    P.S. 如果您喜欢这篇文章并且希望学习编程技术的话,请关注一下

    相关文章

      网友评论

          本文标题:JavaIO流之Socket入门编程-发送文本

          本文链接:https://www.haomeiwen.com/subject/ynzaeftx.html