一个聊天室中遇到的问题!

80酷酷网    80kuku.com

  聊天室|问题这个聊天室是用java写的,其中一部分的源代码是这样的,但是调试运行不了, 还请各位大侠指点:import java.awt.event.*;import java.net.*;import java.io.*;import java.util.*;import javax.swing.Timer;public class AppServer implements Runnable{ServerSocket server;Socket fromClient;Thread serverThread;public AppServer(){System.out.println("FunChat server start......");try{server=new ServerSocket(1001);serverThread=new Thread(this);serverThread.start();}catch(Exception e){System.out.println("cannot start the thread:"+e);}}//end of AppServerpublic static void main(String args[]){new AppServer();}public void run(){try{while(true){fromClient=server.accept();Connect con=new Connect(fromClient);}}catch(Exception e){System.out.println("cannot listen to the client"+e);}//end of catch}//end of run}//end of AppServerclass Connect{ObjectOutputStream streamToClient;int ctr=0;BufferedReader streamFromClient;static Vector vector;static Vector vctrList;String message="";static String str=new String("UsrList");static{vector=new Vector(1,1);vctrList=new Vector(1,1);vctrList.addElement((String)str);}int verify(String mesg){try{RandomAccessField RAS = new RandomAccessFile("UsrPwd.txt","r");int i = 0;Sting str = "";while((RAS.getFilePointer())!=(RAS.length())){str = RAS.readLine();if(str.equals(mesg)){ctr=1;break;}}RAS.close();}catch(Exception e){System.out.print("Exception Occurred:"+e);}return ctr;}int checkFile(String mesg){int chk =1;try{RandomAccessFile RS = new RandomAccessFile("UsrPwd.txt","r");int i = 0;String str = "";String colon = new String(":");int index = ((String)mesg).lastIndexof(colon);String userName = (String)mesg.substring(0,index);while((RS.getFukeOiubter())!=(int)(RS.length())){str = RS.readLine();int index1 = ((String)str).lastIndexof(colon);String usrName = (String)str.substring(0,index1);if(usrName.equals(userName)){chk = 0;break;}}} catch(Exception e) { System.out.print("Exception Occurred:"+e); } return chk; }public Connect(Socket inFromClient){String msg = "";String mesg ="";try{streamFromClient = new BufferedReader(new InputStreamReader(inFromClient.getInputStream()));streamToClient = new ObjectOutputStream(inFromClient.getOutputStream());msg = streamFromClient.rreadLine();if((msg.equals("From Timer"))){streamToClient.writeObject.writeObject(vector);streamToClient.writeObject(vctrList);}else if(msg.equals("LoginInfo")){msg = streamFromClient.readLine();int ver = verify(msg);if(ver==1){String colon = new String(":");int index = ((String)msg).lastIndexOf(colon);String userName = (String)msg.substring(0,index);if(!(vctrList.indexOf((String)userName)>0)){streamToClient.writeObject("Welcome");vctrList.addElement((String)userName);}}else{streamToClient.writeObject("Ligin denied");}}else if(msg.equals("RegisterInfo")){msg = streamFromClient.readLine();int ret = checkFile(msg);if(ret==0)streamToClient.writeObject("User Exists");if(ret==1){FileOutputStream out = new FileOutputStream("UsrPwd.txt",true);PrintStream p = new PrintStream(out);p.println();p.println(msg);p.close();streamToClient.writeObject("Registered");}}else if (msg.equals("User Logout"));{String remUser = streamFromClient.readLine();boolean b = vctrList.removeElement((String)remUser);}else{message = message+msg;vector.addElement((String)message);streamToClient.writeObject(vector);}}catch(Exception e){System.out.println("cannot get the client stream connect"+ e);}finally{try{inFromClient.close();}catch(IOException e){System.out.println("Exception Occurred:"+e);}}}}



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: