PKI学习之路(一)------------------------java实现简单的socket通信

项目地址:https://github.com/gongxianshengjiadexiaohuihui/PKI

关于什么是socket通信,我会写一篇博客去叙述

这次我们主要实现client和server通过socket进行通信

server代码

package com.ggp.server;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * @ClassName Server
 * @Description TODO
 * @Author Mr.G
 * @Date 2018/11/29 9:43
 * @Version 1.0
 */
public class Server extends Thread {

    private  Socket socket;
    private ServerSocket serverSocket;

    public Server(int port)throws Exception{
        serverSocket = new ServerSocket(port);
    }

    @Override
    public void run() {

        while (this.isAlive()) {
            try {
                socket = serverSocket.accept();
                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                PrintWriter writer = new PrintWriter(socket.getOutputStream());
                String data = reader.readLine();
                writer.println(data);
                writer.close();
                socket.close();
            } catch (IOException e) {

            }
        }
    }
    public static void main(String[] args) throws Exception{
              new Server(28888).start();
    }
}

开辟一条线程初始化serversocket,并监听28888端口

socket = serverSocket.accept();

这句代码是阻塞的,只有监听到客户端发来的消息,才会执行下面的代码

功能:

接受客户端发来的信息,并把信息返回给客户端

client代码

package com.ggp.client;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

/**
 * @ClassName Client
 * @Description TODO
 * @Author Mr.G
 * @Date 2018/11/29 9:55
 * @Version 1.0
 */
public class Client {
    public static void main(String[] args) throws Exception{
        Socket socket = new Socket("127.0.0.1", 28888);

        PrintWriter writer = new PrintWriter(socket.getOutputStream());
        BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        writer.println("hello");
        writer.flush();
        System.out.println(reader.readLine());
        socket.close();
    }

}

功能:

初始化一个socket ,配置  要发送服务器的地址和端口号

发送内容,打印服务器返回的内容

结果

猜你喜欢

转载自blog.csdn.net/qq_33543634/article/details/84620614