package ALBasicClient;
import java.nio.ByteBuffer;
import ALBasicProtocolPack._IALProtocolStructure;
import ALBasicProtocolPack.BasicObj._IALProtocolReceiver;
public abstract class _AALBasicClientListener implements _IALProtocolReceiver
{
/** 连接的端口对象 */
private ALBasicClientSocket _m_csClientSocket;
public _AALBasicClientListener(String _serverIP, int _serverPort)
{
_m_csClientSocket = new ALBasicClientSocket(this, _serverIP, _serverPort);
}
public ALBasicClientSocket getSocket() {return _m_csClientSocket;}
/*******************
* 连接服务器并尝试登录
*
* @author alzq.z
* @time Feb 19, 2013 10:04:33 PM
*/
public void login(int _clientType, String _userName, String _userPassword)
{
_m_csClientSocket.login(_clientType, _userName, _userPassword, "");
}
public void login(int _clientType, String _userName, String _userPassword, String _customMsg)
{
_m_csClientSocket.login(_clientType, _userName, _userPassword, _customMsg);
}
/********************
* 发送消息
*
* @author alzq.z
* @time Feb 19, 2013 10:04:41 PM
*/
public void send(ByteBuffer _buffer)
{
if(null == _m_csClientSocket)
return ;
_m_csClientSocket.send(_buffer);
}
public void send(ByteBuffer _tmpHeader, ByteBuffer _buffer)
{
if(null == _m_csClientSocket)
return ;
_m_csClientSocket.send(_tmpHeader, _buffer);
}
public void send(_IALProtocolStructure _protocolObj)
{
if(null == _m_csClientSocket || null == _protocolObj)
return ;
_m_csClientSocket.send(_protocolObj.makeFullPackage());
}
/****************
* 接收消息的处理函数,此函数在接收线程中处理,如需要更好的处理方式则需要另开线程进行处理
*
* @author alzq.z
* @time Feb 19, 2013 10:04:48 PM
*/
public abstract void receiveMes(ByteBuffer _mes);
/****************
* 连接服务器失败
*
* @author alzq.z
* @time Feb 19, 2013 10:04:53 PM
*/
public abstract void ConnectFail();
/***************
* 登录失败
*
* @author alzq.z
* @time Feb 19, 2013 10:05:03 PM
*/
public abstract void LoginFail();
/***************
* 登出操作
*
* @author alzq.z
* @time Feb 19, 2013 10:05:07 PM
*/
public abstract void Disconnect();
/***************
* 登录成功
*
* @author alzq.z
* @time Feb 19, 2013 10:05:11 PM
*/
public abstract void LoginSuc(String _customRetMsg);
}