Java基础ServerSocket、Socket服务端客户端连接的例子)
- 代码示例
代码示例
比较基础的代码,配有详细的注释,就不多说了。
服务端代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | /** * 服务端 * * @Author wanglingqiang * @Date 2020/7/3 下午5:53 **/ public class Server { public static void main(String[] args) throws IOException { // 开启服务,绑定端口 ServerSocket serverSocket = new ServerSocket(6379); // 同步阻塞等待消息 Socket socket = serverSocket.accept(); // new一个数组容器 byte[] bytes = new byte[1024]; // 获得输入流 InputStream inputStream = socket.getInputStream(); // 把输入流的数据读到字节数组容器 inputStream.read(bytes); // 字节数组转成字符串 String result = new String(bytes); // 打印 System.out.println(result); // 关闭socket socket.close(); serverSocket.close();; } } |
服务端控制台输出:
1 2 3 | Connected to the target VM, address: '127.0.0.1:50425', transport: 'socket' Hello world. Disconnected from the target VM, address: '127.0.0.1:50425', transport: 'socket' |
客户端代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /** * 客户端代码 * * @Author wanglingqiang * @Date 2020/7/3 下午5:57 **/ public class Client { public static void main(String[] args) throws IOException { // 连上Server Socket socket = new Socket("127.0.0.1", 6379); // 获得输出流 OutputStream outputStream = socket.getOutputStream(); // 消息 String msg = "Hello world."; // 向输出流写字节数据 outputStream.write(msg.getBytes()); // 关闭socket socket.close(); } } |