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

📄 chatservermidlet.java

📁 这是郭克华老师的J2ME视频的源代码
💻 JAVA
字号:
package example4;

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.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class ChatServerMIDlet extends MIDlet implements Runnable{
	
	private ServerSocketConnection ssc = null;
	private SocketConnection sc = null;
	
	private Form frm = new Form("聊天纪录");
	private Display dis;
	
	protected void startApp() throws MIDletStateChangeException {	
		dis = Display.getDisplay(this);
		dis.setCurrent(frm);
		try{
			ssc = (ServerSocketConnection)Connector.open("socket://:9999");
			new Thread(this).start();			
		}catch(Exception ex){
			ex.printStackTrace();
		}		
	}
	public void run(){
		while(true){//不断接受客户端连接
			try{
				sc = (SocketConnection)ssc.acceptAndOpen();				
				//开一个线程给这个客户端
				new ChatThread(sc).start();
				
			}catch(Exception ex){
				ex.printStackTrace();
			}		
	}
	}
	class ChatThread extends Thread{
		private SocketConnection sc;
		private DataInputStream dis;
		private DataOutputStream dos;
		private String nickName;
		public ChatThread(SocketConnection sc){
			this.sc = sc;
			this.nickName = nickName;
			try{				
				dis = sc.openDataInputStream();
				dos = sc.openDataOutputStream();
				//读取昵称
				nickName = dis.readUTF();					
				dos.writeUTF("欢迎"+nickName+"的到来");//送给相应客户端
				
			}catch(Exception ex){
				ex.printStackTrace();
			}
		}		
		public void run(){//负责读取相应SocketConnection的信息
			while(true){
				try{
					String str = dis.readUTF();
					frm.append(nickName + "说:" + str + "\n");
				}catch(Exception ex){
					ex.printStackTrace();
				}				
			}
		}
	}
	
	
	
	
	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub

	}

	protected void pauseApp() {
		

	}
	

}

⌨️ 快捷键说明

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