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

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

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. 如果您喜欢这篇文章并且希望学习编程技术的话,请关注一下

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编...
    程序员欧阳阅读 2,045评论 1 37
  • 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定...
    蛋炒饭_By阅读 1,251评论 0 10
  • 大家好,我是徐爱卿。博客地址:flutterall.com 引言 Android网络编程一直都是我想记录的一篇文章...
    徐爱卿阅读 45,522评论 52 219
  • 昨晚同老公去送货,和送货的主人聊天,竟是初中同学的堂弟家,问及他的堂姐现在情况怎么样。这堂弟默不做声将眼睛转向他的...
    六月荷清香阅读 1,062评论 13 24
  • 晚安 别在熬夜了.
    Ausssle阅读 251评论 0 0