📄 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 + -