服务端要求:接收来自客户端的信息,并和预设数据进行匹配,将匹配的结果信息返回到客户端。
客户端要求:发送信息给服务器,并接受来自服务端的信息。
这里并没有其他要求,最简单的写法
预设用户数据类
public class User{
private String number = null;
}
public void setNumber(String number){
this.number = number;
}
public String getNumber(){
return this.number;
}
public number(String number){
this.number = number;
}
服务端
public class ServerDemo {
int port = 8080;
ServerSocket ss = new ServerSocket(port);
Socket so = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream(),"UTF-8"));
PrintWriter pr = new PrintWriter(new OutputStreamReader(so.getOuputStream(),"UTF-8"),true)
User user = new User("6);
String mess = null;
while((mess=br.readLine()) != null && !"end".equals(str)){
System.out.println("我是服务器,客户端登录信息为:" + mess);
if(user.getNumber.equals(mess)){
pr.println("存在该用户,登录成功!");
System.out.println("存在该用户,登录成功!");
}else{
pr.println("对不起,没有该用户,已通知客户端登录失败");
System.out.println("不存在该用户,登录失败,已经通知客户端!");
}
pr.println("end");
pr.flush();
}
pr.flush();
if(pr != null){
pr.close();
}
if(br != null){
br.close();
}
if(so != null){
so.close();
}
if(ss != null){
ss.close();
}
}
客户端
public class Client {
String host = " localhost";
int port = 8080;
Socket so = Socket(host,port);
BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream(),"UTF-8"));
PrintWriter pr = new PrintWriter(new OutputStreamReader(so.getOuputStream(),"UTF-8"),true)
pr.println("6");
// 发送一个约定结束标识符,表示客户端的数据已经发送完成!
pr.println("end");
pr.flush();
String mess = null
while((mess = readLine()) != null && !"end".equals(mess)){
System.out.println(" 我是客户端:服务器的响应为:" + mess)
}
if(pr != null){
pr.close();
}
if(br != null){
br.close();
}
if(so != null){
so.close();
}
}