⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servermidlet.java

📁 J2ME源代码
💻 JAVA
字号:
package socket;

import java.io.DataInputStream;
import java.io.DataOutputStream;

import javax.microedition.io.Connector;
import javax.microedition.io.ServerSocketConnection;
import javax.microedition.io.SocketConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class ServerMidlet extends MIDlet implements CommandListener{
	
	private ServerSocketConnection ssc = null;
	private SocketConnection sc = null;
	private DataInputStream dis = null;
	private DataOutputStream dos = null;
	
	private TextField tfMsg = new TextField("输入聊天信息","",255,TextField.ANY);
	private Command cmdSend = new Command("发送",Command.SCREEN,1);	
	private Form frmChat = new Form("服务器聊天界面");
	private Display display;
	
	protected void startApp() throws MIDletStateChangeException {
		display = Display.getDisplay(this);
		display.setCurrent(frmChat);
		frmChat.addCommand(cmdSend);
		frmChat.append(tfMsg);
		frmChat.setCommandListener(this);
		
		try{
			ssc = (ServerSocketConnection)Connector.open("socket://:9998");
			sc = (SocketConnection)ssc.acceptAndOpen();
			dis = sc.openDataInputStream();
			dos = sc.openDataOutputStream();
			new ReceiveThread().start();
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	public void commandAction(Command c,Displayable d){
		if(c==cmdSend){
			try{
				dos.writeUTF(tfMsg.getString());
			}catch(Exception ex){}			
		}
	}
	class ReceiveThread extends Thread{
		public void run(){
			while(true){
				try{					
					String msg = dis.readUTF();
					frmChat.append(msg + "\n");
				}catch(Exception ex){ex.printStackTrace();}	
			}
		}
	}
	
	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub

	}

	protected void pauseApp() {
		// TODO Auto-generated method stub

	}
	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -