左晓为主开发手持机充值管理机
zuoxiao
2024-03-07 389d1e5aedc99a3909c61db855b18a2936919942
app/src/main/java/com/dayu/recharge/net/SocketNet.java
@@ -11,11 +11,14 @@
import com.dayu.recharge.dbBean.DeviceNumber;
import com.dayu.recharge.dbBean.IpBean;
import com.easysocket.EasySocket;
import com.easysocket.connection.action.SocketStatus;
import com.easysocket.entity.OriginReadData;
import com.easysocket.entity.SocketAddress;
import com.easysocket.interfaces.conn.ISocketActionListener;
import com.easysocket.interfaces.conn.SocketActionListener;
import com.dayu.recharge.MyApplication;
import com.easysocket.utils.HexUtil;
import com.tencent.bugly.crashreport.CrashReport;
/**
@@ -53,7 +56,12 @@
        if (EasySocket.getInstance().getDefconnection() != null) {
//            EasySocket.getInstance().disconnect(false);
//            EasySocket.getInstance().connect();
//            if (EasySocket.getInstance().getDefconnection().getConnectionStatus()== SocketStatus.SOCKET_CONNECTED){
            EasySocket.getInstance().upMessage(dataMessage);
//            }else {
//
//            }
//            this.dataMessage = dataMessage;
        } else {
            MyApplication.myApplication.initEasySocket(false, null);
@@ -97,18 +105,22 @@
        public void onSocketConnSuccess(SocketAddress socketAddress) {
            Log.i("SocketActionListener1111", "连接成功");
            MyApplication.myApplication.isConncet = true;
            AdminDataBean adminData = BaseDaoSingleton.getInstance(MyApplication.myApplication).adminDao().findFirst();
            Log.i("SocketActionListener1111", "isDoInitMachine==" + MyApplication.myApplication.isDoInitMachine + "");
            if (!MyApplication.myApplication.isDoInitMachine) {
                Log.i("SocketActionListener1111", "isDoInitMachine");
                if (MyApplication.myApplication.ipBean != null && adminData != null) {
                    if (!TextUtils.isEmpty(adminData.getAddressCode())) {
                        Log.i("SocketActionListener1111", "initMachineRequestBean");
                        MyApplication.myApplication.initMachineRequestBean(MyApplication.myApplication.ipBean.getIp(), MyApplication.myApplication.ipBean.getPort(), adminData.getAddressCode());
            try {
                AdminDataBean adminData = BaseDaoSingleton.getInstance(MyApplication.myApplication).adminDao().findFirst();
                Log.i("SocketActionListener1111", "isDoInitMachine==" + MyApplication.myApplication.isDoInitMachine + "");
                if (!MyApplication.myApplication.isDoInitMachine) {
                    Log.i("SocketActionListener1111", "isDoInitMachine");
                    if (MyApplication.myApplication.ipBean != null && adminData != null) {
                        if (!TextUtils.isEmpty(adminData.getAddressCode())) {
                            Log.i("SocketActionListener1111", "initMachineRequestBean");
                            MyApplication.myApplication.initMachineRequestBean(MyApplication.myApplication.ipBean.getIp(), MyApplication.myApplication.ipBean.getPort(), adminData.getAddressCode());
                        }
                    }
                }
                }
            } catch (Exception e) {
                CrashReport.postCatchedException(e);
            }
            rushState();
        }
@@ -144,21 +156,17 @@
            rushState();
        }
        /**
         * socket接收的数据
         * @param socketAddress
         * @param readData
         * @param originReadData
         */
        @Override
        public void onSocketResponse(SocketAddress socketAddress, String readData) {
            Log.i("SocketActionListener", "SocketActionListener收到数据-->" + readData);
        }
        @Override
        public void onSocketResponse(SocketAddress socketAddress, OriginReadData originReadData) {
            super.onSocketResponse(socketAddress, originReadData);
            Log.i("SocketActionListener", "SocketActionListener收到数据-->" + originReadData.getBodyString());
            Log.i("SocketActionListener", "SocketActionListener收到数据-->" + HexUtil.bytesToHex(originReadData.getBodyBytes()));
            SocketData socketData = new SocketData();
            socketData.setBodyData(originReadData.getBodyBytes());
            socketData.setHeaderData(originReadData.getHeaderData());