封装了客户socket和客户的userId的代理类----Agent

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

/*

* 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;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有