xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

之前已經做了一個版本:http://download.csdn.net/download/onlyxiahui/9347191 不過功能太少了,于是繼續完善了下,主要增加了群聊、表情發送、來消息后頭像和系統托盤跳動、圖片發送、窗口抖動、視頻聊天等。不過視頻聊天問題比較多,畢竟這只是寫著玩。

資源截圖

代碼片段和文件信息

package?com.oim.app;

import?org.apache.log4j.Logger;

import?com.oim.business.handler.PersonalHandler;
import?com.oim.common.app.controller.ControllerFactory;
import?com.oim.common.app.handler.SendHandler;
import?com.oim.common.app.handler.SendHandlerFactory;
import?com.oim.common.app.manage.Manage;
import?com.oim.common.app.manage.ManageFactory;
import?com.oim.common.app.service.Service;
import?com.oim.common.app.service.ServiceFactory;
import?com.oim.common.app.view.AbstractView;
import?com.oim.common.app.view.ViewFactory;
import?com.oim.common.task.ExecuteTask;
import?com.oim.common.task.QueueTaskThread;
import?com.oim.net.connect.MessageHandler;
import?com.oim.net.connect.SocketConnector;
import?com.oim.net.server.Handler;
import?com.oim.net.thread.HeadPulseThread;
import?com.oim.ui.view.LoginView;
import?com.only.net.action.ConnectBackAction;
import?com.only.net.action.ConnectStatusAction;
import?com.only.net.connect.ConnectThread;
import?com.only.net.connect.WriteHandler;
import?com.only.net.data.Data;
import?com.only.net.data.action.DataBackAction;
import?com.only.net.data.action.DataSentAction;
import?com.only.net.data.bean.HandlerData;
import?com.only.net.thread.DataReadThread;
import?com.only.net.thread.DataWriteThread;

/**
?*?這是程序的上下文,方便各個模塊之間調用
?*?
?*?@author?XiaHui
?*?@date?2015年3月6日?上午9:30:30
?*/
public?class?AppContext?{
protected?final?Logger?logger?=?Logger.getLogger(this.getClass().getName());

private?Handler?handler;//負責處理TCP接受到的消息
private?SocketConnector?connector;//連接實體
private?ConnectThread?connectThread;//處理連接的線程
private?DataReadThread?dataReadThread;//處理回掉信息的線程
private?DataWriteThread?dataWriteThread;//處理發送信息的線程
private?ControllerFactory?controllerFactory;
private?ViewFactory?viewFactory?=?new?ViewFactory(this);
private?ServiceFactory?serviceFactory?=?new?ServiceFactory(this);
private?ManageFactory?manageFactory?=?new?ManageFactory(this);
private?SendHandlerFactory?sendHandlerFactory?=?new?SendHandlerFactory(this);
private?HeadPulseThread?headPulseThread?=?new?HeadPulseThread();//處理頭像跳動的線程
private?QueueTaskThread?queueTaskThread?=?new?QueueTaskThread();//用于執行一些耗時的線程任務
private?boolean?login?=?false;//用來標識是否已經成功登錄了

public?AppContext()?{
long?time?=?System.currentTimeMillis();
initApp();
System.out.println(“initApp“?+?(System.currentTimeMillis()?-?time));
initAction();
System.out.println(“initAction“?+?(System.currentTimeMillis()?-?time));
}

/**
?*?初始化各個模塊
?*/
private?void?initApp()?{

controllerFactory?=?new?ControllerFactory(this);
handler?=?new?Handler();
connector?=?new?SocketConnector(handler);

dataWriteThread?=?new?DataWriteThread();//?數據發送線程
dataReadThread?=?new?DataReadThread();//負責消息回掉的線程
connectThread?=?new?ConnectThread();

connectThread.setConnector(connector);

handler.setControllerFactory(controllerFactory);
handler.addMessageHandler(new?MessageHandler()?{

@Override
publi

評論

共有 條評論