zoukankan      html  css  js  c++  java
  • java socket 服务端 客户端

    Server

    package com.witwicky.socket.basicsocket;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        public static void main(String[] args) {
            int port = 43523;
            ServerSocket serverSocket = null;
            try {
                System.out.println("===
    start recive message......");
    
                serverSocket = new ServerSocket(port);
                Socket socket = serverSocket.accept();
    
                InputStream inputStream = socket.getInputStream();
    
                StringBuffer sb = new StringBuffer();
                byte[] bytes = new byte[1024];
                int len;
                while ((len = inputStream.read(bytes)) != -1) {
                    System.out.println("length: " + len);
                    sb.append(new String(bytes, 0, len, "UTF-8"));
                }
                System.out.println(sb.toString());
                System.out.println("end recive message......
    ===");
    
                String returnContent = "recive over.";
                OutputStream outputStream = socket.getOutputStream();
    
                outputStream.write(returnContent.getBytes("UTF-8"));
    
                outputStream.close();
                inputStream.close();
                socket.close();
                serverSocket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    Connected to the target VM, address: '127.0.0.1:61818', transport: 'socket'
    ===
    start recive message......
    length: 180
    因为《The C Programme Language》中使用它做为第一个演示程序,非常著名,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。
    end recive message......
    ===
    Disconnected from the target VM, address: '127.0.0.1:61818', transport: 'socket'
    
    Process finished with exit code 0

    Client

    package com.witwicky.socket.basicsocket;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    
    public class Client {
        public static void main(String[] args) {
            String host = "127.0.0.1";
            int port = 43523;
            try {
                System.out.println("===");
                Socket socket = new Socket(host, port);
                OutputStream outputStream = socket.getOutputStream();
    
                String content = "因为《The C Programme Language》中使用它做为第一个演示程序,非常著名,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。";
                outputStream.write(content.getBytes());
    
                socket.shutdownOutput();
    
                int len;
                byte[] bytes = new byte[1024];
                InputStream inputStream = socket.getInputStream();
                StringBuffer sb = new StringBuffer();
                while ((len = inputStream.read(bytes)) != -1) {
                    sb.append(new String(bytes, 0, len, "UTF-8"));
                }
                System.out.println("service return content: " + sb.toString());
                System.out.println("===");
    
                inputStream.close();
                outputStream.close();
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    }
    
    Connected to the target VM, address: '127.0.0.1:61828', transport: 'socket'
    ===
    service return content: recive over.
    ===
    Disconnected from the target VM, address: '127.0.0.1:61828', transport: 'socket'
    
    Process finished with exit code 0
  • 相关阅读:
    SQL having 子句
    sqlserver2008 R2 创建作业(定时任务)
    3步完成chrome切换搜索引擎
    http模拟请求工具
    网页自动加载进度条插件
    span设为inline-block之后,未包含文字时下面会多出一条空白问题
    记一次特殊的下载字体方法
    团队冲刺第十三天
    团队冲刺第十二天
    人月神话03
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/9266167.html
Copyright © 2011-2022 走看看