flash socket 框架

经过几个项目的应用,确实达到了优化框架的作用,可以单独作为一个socket 框架应用到 用到socket 通讯的项目,比如webgame;

此框架共有4个类:ClientSocket,IClientSocket,IClientSocketHandler,SocketState

ClientSocket: 客户端核心socket 类,在这个类中添加了客户端各个module 的回调函数,整个application 只需有一个ClientSocket 对象就可实现信息交互的畅通;

IClientSocket: 一个接口,定义了ClientSocket 所需的一些function;

IClientSocketHandler: 一个接口,由客户端各个module实现,作为回调对象;

SocketState :Socket 连接的一些常量;

以下是IClientSocket,IClientSocketHandler两个接口的定义

package com.socket.clientsocket
{
import flash.utils.ByteArray;


/**
*客户端网络接口 
* @author liangxuhu

*/
public interface IClientSocket
{
/**
* 设置回调接口
* @param clientSocketHandler
* @return 

*/
function setClientSocketCallBack(clientSocketHandler:IClientSocketHandler):Boolean;
/**
*获取回调接口 
* @return 

*/
function getClientSocketCallBack():IClientSocketHandler
/**
*添加回调接口 
* @param clientSocketHandler
* @return 

*/
function addClientSocketHandler(clientSocketHandler:IClientSocketHandler):Boolean;
/**
*删除回调接口 
* @param clientSocketHandler
* @return 

*/
function removeClientSocketHandler(clientSocketHandler:IClientSocketHandler):Boolean;
/**
*删除所有回调接口 

*/
function removeAllClientSocketHandler():void;

/**
*获取状态 
* @return 

*/
function get connectState():int;
/**
*设置数据加密密钥 
* @param packetKey

*/
function set packetKey(packetKey:uint):void;
/**
*连接服务器 
* @param serverIP
* @param port
* @return 

*/
function connect(serverIP:String,port:int):Boolean;
/**
*发送函数 
* @param mainCmdID
* @param subCmdID
* @return 

*/
function sendCmd(mainCmdID:int,subCmdID:int):Boolean;
/**
*发送函数 
* @param mainCmdID
* @param subCmdID
* @param data
* @param dataSize
* @return 

*/
function sendData(data:ByteArray,dataSize:int):Boolean;
/**
*关闭连接 
* @param notify
* @return 

*/
function closeSocket(notify:Boolean):Boolean;
}
}


package com.socket.clientsocket
{
import flash.utils.ByteArray;

/**
* 客户端网络回调接口
* @author liangxuhu

*/
public interface IClientSocketHandler
{
/**
 *网络连接消息 
 * @param errorCode
 * @param errorDesc
 * @param clientSocket
 * @return 
 * 
 */
function onSocketConnect(errorCode:int,errorDesc:String,clientSocket:IClientSocket):Boolean;
/**
 *网络读取消息 
 * @param mainCmdID
 * @param subCmdID
 * @param buffer
 * @param dataSize
 * @param clientSocket
 * @return 
 * 
 */
function onSocketRead(mainCmdID:uint,subCmdID:uint,buffer:ByteArray,dataSize:int,clientSocket:IClientSocket):Boolean;
/**
 *网络关闭消息 
 * @param clientSocket
 * @param closeByServer
 * @return 
 * 
 */  
function onSocketClose(clientSocket:IClientSocket,closeByServer:Boolean):Boolean;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值