Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
封装了客户socket和客户的userId的代理类----Agent

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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



相关文章

相关软件