左晓为主开发手持机充值管理机
zuoxiao
2023-11-23 bbce34a82d99e9b84a352209532751e8ac8975a4
app/src/main/java/com/dayu/recharge/net/SocketNet.java
@@ -2,11 +2,12 @@
import android.content.Context;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import com.dayu.recharge.activity.HomeActivity;
import com.dayu.recharge.dao.BaseDaoSingleton;
import com.dayu.recharge.dbBean.AdminDataBean;
import com.dayu.recharge.dbBean.DeviceNumber;
import com.dayu.recharge.dbBean.IpBean;
import com.easysocket.EasySocket;
import com.easysocket.entity.OriginReadData;
@@ -14,9 +15,6 @@
import com.easysocket.interfaces.conn.ISocketActionListener;
import com.easysocket.interfaces.conn.SocketActionListener;
import com.dayu.recharge.MyApplication;
import com.dayu.recharge.utils.ToastUtil;
import com.dayu.recharge.utils.WSHelper;
import com.easysocket.utils.LogUtil;
/**
@@ -28,7 +26,7 @@
public class SocketNet {
    public static SocketNet socketNet;
    SocketCallBack myCallBack;
    byte[] dataMessage;
    //    byte[] dataMessage;
    boolean isTest = false;
    Context mContext;
@@ -52,9 +50,10 @@
        // 发送
//        EasySocket.getInstance().upMessage(dataMessage);
        if (EasySocket.getInstance().getDefconnection() != null) {
            EasySocket.getInstance().disconnect(false);
            EasySocket.getInstance().connect();
            this.dataMessage = dataMessage;
//            EasySocket.getInstance().disconnect(false);
//            EasySocket.getInstance().connect();
            EasySocket.getInstance().upMessage(dataMessage);
//            this.dataMessage = dataMessage;
        } else {
            MyApplication.myApplication.initEasySocket(false, null);
        }
@@ -71,8 +70,8 @@
        isTest = true;
        mContext = context;
        if (EasySocket.getInstance().getDefOptions().getSocketAddress() != null && !MyApplication.myApplication.isDoInitMachine) {
            EasySocket.getInstance().disconnect(false);
            EasySocket.getInstance().connect();
//            EasySocket.getInstance().disconnect(false);
//            EasySocket.getInstance().connect();
        } else {
//            ToastUtil.show(mContext, "Socket地址为空");
        }
@@ -96,8 +95,10 @@
        @Override
        public void onSocketConnSuccess(SocketAddress socketAddress) {
            Log.i("SocketActionListener", "连接成功");
            String initCode = WSHelper.getInstance(MyApplication.myApplication).get("initCode", "");
            if (TextUtils.isEmpty(initCode) && !MyApplication.myApplication.isDoInitMachine) {
            MyApplication.myApplication.isConncet = true;
            rushState();
            DeviceNumber initCode = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
            if (initCode == null && !MyApplication.myApplication.isDoInitMachine) {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
@@ -110,15 +111,10 @@
                }, 500);
            }
            if (dataMessage != null) {
                EasySocket.getInstance().upMessage(dataMessage);
            }
            if (isTest) {
                MyApplication.myApplication.isConncet = true;
                EasySocket.getInstance().disconnect(false);
            } else {
//            if (dataMessage != null) {
//                EasySocket.getInstance().upMessage(dataMessage);
//            }
            }
        }
@@ -129,13 +125,14 @@
         */
        @Override
        public void onSocketConnFail(SocketAddress socketAddress, boolean isNeedReconnect) {
//            isConnected = false;
            MyApplication.myApplication.isConncet = false;
            rushState();
            Log.i("SocketActionListener", "socket连接失败");
            if (isTest) {
                ToastUtil.show(mContext, "连接失败,请检查网络");
//                ToastUtil.show(mContext, "连接失败,请检查网络");
            } else {
                if (myCallBack != null) {
                    myCallBack.onSocketError(-1, "socket连接失败,请检查网络");
                    myCallBack.onSocketError(-1, "连接数据中心失败,请检查网络");
                }
            }
        }
@@ -148,7 +145,8 @@
        @Override
        public void onSocketDisconnect(SocketAddress socketAddress, boolean isNeedReconnect) {
            Log.i("SocketActionListener", "---> socket断开连接,是否需要重连:" + isNeedReconnect);
            MyApplication.myApplication.isConncet = false;
            rushState();
        }
        /**
@@ -169,7 +167,7 @@
            SocketData socketData = new SocketData();
            socketData.setBodyData(originReadData.getBodyBytes());
            socketData.setHeaderData(originReadData.getHeaderData());
            dataMessage = null;
//            dataMessage = null;
            if (myCallBack != null) {
                myCallBack.onSocketResponse(socketData);
            }
@@ -177,4 +175,10 @@
        }
    };
    private void rushState() {
        if (HomeActivity.homeActivity != null) {
            HomeActivity.homeActivity.rushState();
        }
    }
}