这个聊天室是用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);
}
}
}
}