📄 chatse~5.jav
字号:
package chat;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
//
class chatserverimpl extends _chatserverImplBase implements chatserver
{
public chatserverimpl()
{
System.out.println("Instance created of the chat server");
}
static String name = "ChatServer";
static String[] unames = new String[20];
static String[] msgs = new String[20];
static int latest = 0;
static int howmany = 0;
/// The followinng function u need to implement....
void printusrs()
{
int i;
for(i=0;i<unames.length;i++)
{
if(unames[i]!=null)
System.out.println(unames[i]);
}
System.out.println("");
}
void printmsgs()
{
int i;
for(i=0;i<msgs.length;i++)
{
if(msgs[i]!=null)
System.out.println(msgs[i]+" "+i);
}
System.out.println("The last message : "+latest);
System.out.println("");
}
public boolean login(String lname)
{
int i,min=-1;
if(howmany>=20)
{
System.out.println("Room full");
return false;
}
for(i=0;i<20;i++)
{
if(unames[i]!=null)
{
if(unames[i].equals(lname))
{
System.out.println("Username already exists");
return false;
}
}
else
{
if(min==-1)
min = i;
}
}
unames[min] = lname;
howmany++;
addmessage(lname+" joined the room");
printusrs();
return true;
}
public void logout(String lname)
{
int i;
for(i=0;i<20;i++)
{
if(unames[i].equals(lname))
{
addmessage(lname+" left the room");
unames[i] = null;
break;
}
}
printusrs();
howmany--;
}
public void addmessage(String msg)
{
msgs[latest] = msg;
latest = update(latest);
printmsgs();
}
int update(int l)
{
if(l==19)
l=0;
else
l++;
return l;
}
public String getnewmesg(int cur)
{
if(latest==cur)
return " ";
else
return msgs[cur];
}
//up to here.....
public static void main(String args[])
{
try
{
ORB orb = ORB.init(args,null);
chatserverimpl serv = new chatserverimpl();
System.out.println("Completed upto this 1");
orb.connect(serv);
System.out.println("Completed upto this 2");
org.omg.CORBA.Object obj = orb.resolve_initial_references("NameService");
System.out.println("Completed upto this 3");
NamingContext nc = NamingContextHelper.narrow(obj);
NameComponent ncmp = new NameComponent(name," ");
NameComponent path[] = { ncmp };
nc.rebind(path,serv);
System.out.println("Completed upto this");
java.lang.Object waitonme = new java.lang.Object();
synchronized(waitonme)
{
waitonme.wait();
}
}
catch(Exception ex)
{
System.out.println("There is an eroor : "+ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -