基本版socket

2019-10-23  本文已影响0人  请叫我刚爷

基本版socket服务端

package com.netty.socketDemo1;

import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {

    public static void main(String[] args) throws UnsupportedEncodingException, IOException {
        // 第一步、创建ServerSocket对象,绑定监听端口
        int port = 6667;
        ServerSocket server = new ServerSocket(port);
        // 第二部、监听端口
        Socket socket = server.accept();
        // 第三步、建立好连接后,通过输入流读取客户端发送的请求信息
        InputStream inputStream = socket.getInputStream();
        byte[] bytes = new byte[1024];
        int len;
        while ((len = inputStream.read(bytes)) != -1) {
            String message = new String(bytes, 0, len);
            System.out.println("客户端传来消息: " + message);
           // 第四部、通过输出流向客户端发送响应信息
            socket.getOutputStream().write(bytes);
        }
        //第五步关闭资源
        inputStream.close();
        socket.close();
        server.close();
    }
}

socket基础版客户端

package com.netty.socketDemo1;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class SocketClient {
    public static void main(String args[]) throws Exception {
        String host = "127.0.0.1"; 
        int port = 6667;
        // 第一步 创建Socket对象,指明需要连接的服务器的地址和端口号。
        Socket socket = new Socket(host, port);
        OutputStream outputStream = socket.getOutputStream();
        String message="你好,我是hello world";
        //第二部 通过输出流向服务器发送请求信息。
        socket.getOutputStream().write(message.getBytes("UTF-8"));
        //第三步 、读取服务器返回的消息
        InputStream inputStream = socket.getInputStream();
        byte[] bytes = new byte[1024];
        inputStream.read(bytes);
        message = new String(bytes);
        System.out.println("服务端返回消息: " + message);
        //第四部、关闭资源
        outputStream.close();
        socket.close();
    }
}

大致思路如下,


无标题.png
上一篇 下一篇

猜你喜欢

热点阅读