长运行服务器端Server
服务器端长运行实现
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();
服务端首次运行结果:
客户端运行一次服务端效果:
客户端再次运行服务端效果: