ServerSocket serverSocket = null; try { //创建服务端 serverSocket = new ServerSocket(8099); //保持服务器端一直运行 while (true){ System.out.println("waiting for connect"); //接受的客户端socket Socket socket = serverSocket.accept(); //以字节输入流的方式将接受的socket内容读取 InputStream inputStream = socket.getInputStream(); //创建接受字节流容器 byte[] bytes = new byte[1024]; //将socket中的字节流信息读取进准备好的字节容器 int readlen = inputStream.read(bytes); //将接受的字节流通过字符串的方式打印 System.out.println(new String(bytes,0,readlen)); } } catch (IOException e) { e.printStackTrace(); }finally { //关闭服务端 try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } }
客户端创建
//创建客户端socket Socket socket = new Socket(); //客户端连接至服务端 socket.connect(new InetSocketAddress("127.0.0.1",8099)); //以输出字节流的方式将本地数据输出至socket中 OutputStream outputStream = socket.getOutputStream(); //要发送的字符串信息 String str = "hello world"; //将字符串转化成字节流用outputstream进行输出 outputStream.write(str.getBytes()); socket.close();
服务端首次运行结果:
客户端运行一次服务端效果:
客户端再次运行服务端效果: