package cn.muchinfo.rma.netcore.socket.core;

/**
 * socket基类回调包含
 * 地址错误、连接抛出异常、连接成功、连接被断开、收到消息、连接超时
 */
public interface SocketListener {

    /**
     * error format internet address
     * 地址格式错误
     */
    void hostError();

    /**
     * Exception connect
     * 初始化连接异常
     */
    void initConnectException();

    /**
     * connect success
     * 连接成功
     */
    void connectSuccess();

    /**
     * connect broken
     * 连接失败
     * @param type 1：发送失败，断开连接 2：发送失败，异常崩溃  3：接收失败 断开连接 4：接收失败，异常崩溃
     */
    void disConnect(int type);

    /**
     * get data from service
     * 收到推送数据
     * @param message 收取到的数据
     */
    void byteMessage(byte[] message);

    /**
     * Connect Time Out
     * 连接超时
     * @param host
     * @param port
     */
    void connectOutTime(String host, String port);

    /**
     * 连接异常  重连异常和普通登录异常都从这回调
     */
    void connectException();

}
