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

类别:Java 点击:0 评论:0 推荐:
这个聊天室是用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 AppServer public 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 AppServer class 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); } } } }

本文地址:http://com.8s8s.com/it/it10454.htm