一个聊天室中遇到的问题!
类别: JAVA教程
这个聊天室是用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 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); } } } }
-= 资 源 教 程 =-
文 章 搜 索