cssreceivethread.java

来自「基于java的图ou形化的聊天器」· Java 代码 · 共 70 行

JAVA
70
字号
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;

/**
 * 服务器线程 接受客户端信息处理并发送
 * @author ij
 *
 */
public class CSSReceiveThread extends Thread {
	private Socket s;
	private ChatMessage cm;

	public CSSReceiveThread() {
		super();
	}

	public CSSReceiveThread(Socket s) {
		super();
		this.s = s;
	}

	ObjectInputStream ois;

	public void run() {
		CSSend cssend= new CSSend();
		System.out.println("*********receive*********");
		System.out.println(s.getInetAddress());
		try {
			ois = new ObjectInputStream(s.getInputStream());
			while (true) {

				ois.read();
				cm = (ChatMessage) ois.readObject();
				System.out.println("receive:" + cm.getContent());
	
				cssend.setSsocket(s);
				cssend.sendMessage(cm);

			}
		} catch (IOException e) {
			//异常处理
			ServerInfo si;
			ChatMessage cm2 = new ChatMessage();
			ChatServerSystem.socketvec.remove(s);
			for (int i = 0; i < CSSend.namevec.size(); i++) {
				si = (ServerInfo)CSSend.namevec.get(i);
				if(CSUtil.compareSocket(s, si.getClis())){
					CSSend.namevec.remove(i);
					break;
				}
			}
			cm2.setCurrent("sendname");
			cssend.sendMessage(cm2);
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public ChatMessage getCm() {
		return cm;
	}

	public void setCm(ChatMessage cm) {
		this.cm = cm;
	}

}

⌨️ 快捷键说明

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