我正在开发项目,我有一个处理多个客户端的多线程服务器,但有两种类型的客户端(管理员和会议员),我遇到了问题,我已经创建了一个服务器,当时如果客户端是管理员或会员,则客户端被接受有条件,因为这个不同的客户端都有自己的处理程序classe(函数),但代码只能在第一个条件下工作,但它不适用于两者
我的服务器代码:
try {
ss = new ServerSocket(portnb);
System.out.println("le serveur wainting for client");
} catch (Exception e) {
System.out.println(e.getMessage());
}
while (true) {
try {
clientsocket = ss.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(clientsocket.getInputStream()));
if (in.readLine().equals("calculeID"))// administrator function{
Handler h = new Handler(clientsocket);
new Thread(h).start();
System.out.println("administrator is here ");
in.close();
}else{
if (in.readLine().equals("start"))// conferencier function{
Handlerconf hc= new Handlerconf(clientsocket);
new Thread (hc).start();
System.out.println("conferencier is here ");
in.close();
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
ss.close();
}
答案 0 :(得分:0)
每次拨打readLine()
都会读取新行。致电readLine()
一次,并将结果存储在变量中。然后测试这个变量的值。