?? sessionserver.java
字號:
package com.laoer.bbscs.servlet;
import java.net.*;
import java.io.*;
import com.laoer.bbscs.sysinfo.*;
import com.laoer.bbscs.bbs.business.*;
import org.apache.log4j.*;
public class SessionServer
extends Thread {
public static final int PORT = Sys.SYSINFO.PORT;
static Logger logger = Logger.getLogger(SessionServer.class.getName());
private boolean isStop = false;
public SessionServer() {
}
public void run() {
try {
ServerSocket server = new ServerSocket(PORT);
logger.info("服務器Session監聽端口:" + PORT);
while (true) {
if (isStop) {
return;
}
Socket clientSocket = server.accept();
new SessionClientThread(clientSocket).start();
}
}
catch (IOException e) {
logger.error(e);
}
}
public void setIsStop() {
this.isStop = true;
}
class SessionClientThread
extends Thread {
private Socket s;
SessionClientThread(Socket s) {
this.s = s;
}
public void run() {
try {
ObjectInputStream input = new ObjectInputStream(s.getInputStream());
PrintWriter output = new PrintWriter(s.getOutputStream(), true);
Object obj = input.readObject();
if (obj instanceof UserSession) {
UserSession us = (UserSession) obj;
ServerSession.sessionlist.put(us.sesssionID, us);
logger.info("收到Session[KEY:" + us.sesssionID + "]加入Session列表");
}
if (obj instanceof UpMsg) {
UpMsg aUpMsg = (UpMsg) obj;
if (aUpMsg.getMsg() == 1) {
logger.info("初始化網站信息(網站名稱,URL)");
Sys.WEBSITE = WebSite.getWebSite();
}
if (aUpMsg.getMsg() == 2) {
logger.info("初始化一級版區");
Board initBoard = BoardFactory.getInstance();
initBoard.setBoardList(null);
}
if (aUpMsg.getMsg() == 3) {
logger.info("初始化二級版面");
Boards initBoards = BoardsFactory.getInstance();
initBoards.setBoardsList(null);
}
if (aUpMsg.getMsg() == 4) {
logger.info("初始化CSS");
CSS aCSS = CSSFactory.getInstance();
aCSS.setInitCSS();
}
if (aUpMsg.getMsg() == 5) {
logger.info("初始化黑名單");
BlackUserInfo aBlackUserInfo = new BlackUserInfo();
BlackUser aBlackUser = BlackUserFactory.getInstance();
aBlackUser.setBlackUserInfo(aBlackUserInfo);
aBlackUser.setBlackUserList(null);
}
}
}
catch (ClassNotFoundException e) {
System.out.println(e.toString());
}
catch (IOException e) {
System.out.println(e.toString());
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -