1,创建服务器;
// 开放服务器,并开放8080端口;
ServerSocket server = new ServerSocket(8080);
// 加入循环,可以多次监听,即客服端可以多次访问该服务器
while (true) {
// 监听端口,如果客户端连接到服务器,则客户端数据封装成socket对象;
socket = server.accept();
// 从socket中得到读取流。用于接收数据;
in = socket.getInputStream();
// 从socket中得到写入流,用于发送数据;
out = socket.getOutputStream();
byte[] by = new byte[1024];
// 将流中的数据读取到byte数组中;
in.read(by);
// 将byte数组的数据,封装成字符串,并去掉两头的空格;;
String str = new String(by).trim();
System.out.println("客户端发送:" + str);
// 发送数据给客户端;
out.write("嗨喽,欢迎光临".getBytes());
// 刷新流;
out.flush();
}
2,客服端
//访问指定IP地址的服务器,并访问相关端口;
socket=new Socket("192.168.1.233",8080);
//从socket中得到读取流。用于接收数据;
in=socket.getInputStream();
//从socket中得到写入流,用于发送数据;
out=socket.getOutputStream();
out.write("我要访问服务器".getBytes());
out.flush();
//将流中的数据读取到byte数组中;
byte[]by=new byte[1024];
in.read(by);
//将byte数组的数据,封装成字符串,并去掉两头的空格;
String str=new String(by).trim();
System.out.println("服务器发送:"+str);