/*
* Created on 2004-12-15
* //该类解析了socket的用户名 userId,password,等待Thread验证
* 封装了客户socket和客户的userId
* ???根据专家模式有两种方式:1 让thread处理
* 2 让Agent自己处理.在Thread处调用即可
* 这两种方法哪个更好一些??
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.*;
import java.util.StringTokenizer;
public class Angent {
private Socket socket;
public String msg;//在这里解析,线程类,协议类可以利用
private String userId;
private String password;
private BufferedReader in;
private PrintWriter out;
public String getPassword() {
return password;
}
public Socket getSocket() {
return socket;
}
public String getUserId() {
return userId;
}
public Angent(Socket asocket) {
socket=asocket;
try {
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out= new PrintWriter(socket.getOutputStream(),true/*autoflush*/);
msg=in.readLine();
getuser();//初始化字段
} catch (IOException e) {
System.out.println("解析字符错误!");
e.printStackTrace();
}
}
//解析命令,检测合法用户(用户首次登录)
private void getuser() throws IOException{
StringTokenizer t=new StringTokenizer(msg,"//");
userId=t.nextToken();
password=t.nextToken();
}
public BufferedReader getIn() {
return in;
}
public PrintWriter getOut() {
return out;
}
}
* Created on 2004-12-15
* //该类解析了socket的用户名 userId,password,等待Thread验证
* 封装了客户socket和客户的userId
* ???根据专家模式有两种方式:1 让thread处理
* 2 让Agent自己处理.在Thread处调用即可
* 这两种方法哪个更好一些??
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.*;
import java.util.StringTokenizer;
public class Angent {
private Socket socket;
public String msg;//在这里解析,线程类,协议类可以利用
private String userId;
private String password;
private BufferedReader in;
private PrintWriter out;
public String getPassword() {
return password;
}
public Socket getSocket() {
return socket;
}
public String getUserId() {
return userId;
}
public Angent(Socket asocket) {
socket=asocket;
try {
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out= new PrintWriter(socket.getOutputStream(),true/*autoflush*/);
msg=in.readLine();
getuser();//初始化字段
} catch (IOException e) {
System.out.println("解析字符错误!");
e.printStackTrace();
}
}
//解析命令,检测合法用户(用户首次登录)
private void getuser() throws IOException{
StringTokenizer t=new StringTokenizer(msg,"//");
userId=t.nextToken();
password=t.nextToken();
}
public BufferedReader getIn() {
return in;
}
public PrintWriter getOut() {
return out;
}
}
此博客主要围绕Java代码展开,该代码定义了Angent类,用于解析socket的用户名和密码,封装客户socket和userId。还探讨了根据专家模式处理的两种方式,即让thread处理或让Agent自己处理,并实现了用户信息的解析和初始化等功能。
327

被折叠的 条评论
为什么被折叠?



