代码在JDK1.7一上的环境下可以调用,因为使用了ARM模块关闭资源
1.服务端
public static void main(String[] args) throws IOException {
//创建socket服务器 绑定的端口号是5048
try ( ServerSocket server=new ServerSocket(5048);
//监听哪些连接上来的客户端
Socket socket=server.accept();
//获取客户端socket的输入流
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()))){
while(true){
//等待客户端socket的不为空输入流
String str = in.readLine();
if (str != null) {
String host=socket.getLocalAddress().getHostAddress();
int port= socket.getPort();
System.out.println(String.format("来自%s的客户端在%d端口上说%s",host,port,str));
}
}
}catch (IOException io){
io.printStackTrace();
}
}
2.客户端
//创建客户端,并连接服务器
try (Socket socket = new Socket("10.252.69.254", 5048);
//通过socket输出流创建write推送功能对象
PrintWriter pw = new PrintWriter(socket.getOutputStream()) ){
System.out.println("客户端启动成功");
int i=0;
while (i<10) {
//等待控制台不为空的输入流
String str = "1221222";
if ("".equals(str)) {
break;
}
//通过socket对象将字符串推送到服务器
pw.println(str);
//立刻刷新推送功能对象
pw.flush();
i++;
}
} catch (IOException i){
i.printStackTrace();
}
}