zoukankan      html  css  js  c++  java
  • Socket网络编程(三)

    TCP协议网络通讯案例(http协议)

    1、创建TcpServer(tcp服务端)

    package com.cppdy.tcp;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    //tcp服务端
    public class TcpServer {
    
        public static void main(String[] args) throws Exception {
    
            System.out.println("tcp服务端启动啦……");
            ServerSocket serverSocket = new ServerSocket(8080);
            try {
                // 会阻塞在这里,等待连接
                Socket accept = serverSocket.accept();
    
                InputStream inputStream = accept.getInputStream();
    
                byte[] bytes = new byte[1024];
    
                int length = inputStream.read(bytes);
    
                String result = new String(bytes, 0, length);
    
                System.out.println("服务端接收到客户端发送的消息:" + result);
    
                OutputStream outputStream = accept.getOutputStream();
    
                PrintWriter printWriter = new PrintWriter(outputStream);
    
                printWriter.println("服务器收到消息了,这是服务器自动反馈……");
    
                printWriter.flush();
    
                accept.shutdownOutput();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                serverSocket.close();
            }
        }
    
    }

    2、创建TcpClient(tcp客户端)

    package com.cppdy.tcp;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.Socket;
    
    //tcp客户端
    public class TcpClient {
    
        public static void main(String[] args) throws Exception {
    
            Socket socket = new Socket("127.0.0.1", 8080);
    
            try {
                OutputStream outputStream = socket.getOutputStream();
    
                String msg = "吹泡泡的魚";
    
                outputStream.write(msg.getBytes());
    
                System.out.println("客户端发送消息完毕……");
    
                InputStream inputStream = socket.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
    
                String result = br.readLine();
    
                System.out.println("客户端==》服务器返回的结果:" + result);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                socket.close();
            }
        }
    
    }
  • 相关阅读:
    linux 常用命令(个人记录)
    jmeter 5.0版本更新说明(个人做个记录)
    Netdata---Linux系统性能实时监控平台部署记录
    MySQL Yum存储库 安装、升级、集群
    linux 各项配置汇总
    构建Maven项目自动下载jar包
    计算服务器的pv量算法
    性能计算公式
    jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令
    结构模式
  • 原文地址:https://www.cnblogs.com/jiefu/p/10035714.html
Copyright © 2011-2022 走看看