/*
* 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;
}
}
闽公网安备 35060202000074号