importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.util.Vector;
importjavax.microedition.io.Connector;
importjavax.microedition.io.ServerSocketConnection;
importjavax.microedition.io.SocketConnection;
importjavax.microedition.lcdui.Command;
importjavax.microedition.lcdui.CommandListener;
importjavax.microedition.lcdui.Display;
importjavax.microedition.lcdui.Displayable;
importjavax.microedition.lcdui.Form;
importjavax.microedition.lcdui.TextField;
importjavax.microedition.midlet.MIDlet;
importjavax.microedition.midlet.MIDletStateChangeException;
importqlclientbch3.ReceiveThread;
publicclas
sqlserverbch3extendsMIDletimplementsRunnable{
privateServerSocketConnectionssc=null;
privateSocketConnectionsc=null;
//privateDataInputStreamdis=null;
//privateDataOutputStreamdos=null;
privateTextFieldtfMsg=newTextField("输入聊天信息","mfc4fu",255,TextField.ANY);
privateCommandcmdSend=newCommand("发送",Command.SCREEN,1);
privateFormfrm=newForm("聊天界面");
privateVectorv=newVector();
privateDisplaydisp;
//,CommandListener
protectedvoidstartApp()throwsMIDletStateChangeException{
disp=Display.getDisplay(this);
disp.setCurrent(frm);
//frm.addCommand(cmdSend);
//frm.append(tfMsg);
//frm.setCommandListener(this);
try{
ssc=(ServerSocketConnection)Connector.open("socket://:9999");
//监听9999端口。
newThread(this).start();
System.out.println("ccccc");
}catch(Exceptionex){}
}
publicvoidrun(){
while(true){
System.out.println("ddddddddd");
try{
sc=(SocketConnection)ssc.acceptAndOpen();
System.out.println("dd");
ReceiveThreadrt=newReceiveThread(sc);
v.addElement(rt);
rt.start();
System.out.println("dddddddddddddddddddddddd");
}catch(Exceptionex){}
}
}
/*publicvoidcommandAction(Commandc,Displayabled){
if(c==cmdSend){
try{System.out.println("eeeee");
dos.writeUTF(tfMsg.getString());
}catch(Exceptionex){}
}
}*/
classReceiveThreadextendsThread{
privateSocketConnectionsc;
privateDataInputStreamdis;
privateDataOutputStreamdos;
privateStringniName;
publicReceiveThread(SocketConnectionsc){
this.sc=sc;
this.niName=niName;
try{
System.out.println("d");
dis=sc.openDataInputStream();
dos=sc.openDataOutputStream();
niName=dis.readUTF();
frm.append(niName);
System.out.println("ddd");
}catch(Exceptionex){}
}
publicvoidrun(){
while(true){System.out.println("g");
try{
Stringstr=dis.readUTF();
//frm.append(str);
for(inti=0;i
ReceiveThreadrt=(ReceiveThread)v.elementAt(i);
rt.dos.writeUTF(niName+"说:"+str);
System.out.println("gg");
}
}catch(Exceptionex){}
close();
}
}
}
publicvoidclose(){
System.out.println("gggg");
try{
//DataInputStreamdos=null;
//dos.close();
//DataInputStreamdis=null;
//dis.close();
sc.close();
ssc.close();
System.out.println("gggggggg");
}catch(Exceptionex){
ex.printStackTrace();
}
}
protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{
//TODOAuto-generatedmethodstub
}
protectedvoidpauseApp(){
//TODOAuto-generatedmethodstub
}
}