diff --git a/.idea/gradle.xml b/.idea/gradle.xml index dcd727a..aa0c5a0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -24,6 +24,7 @@ diff --git a/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/IMogoCloudSocketManager.java b/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/IMogoCloudSocketManager.java index c0e705b..37de6c4 100644 --- a/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/IMogoCloudSocketManager.java +++ b/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/IMogoCloudSocketManager.java @@ -12,9 +12,8 @@ public interface IMogoCloudSocketManager { * 初始化 * * @param context 上下文 - * @param appId 一般为包名,不参与通道的建立,一般用于发消息 */ - void init(Context context, String appId); + void init(Context context); /** * 注册消息监听 @@ -38,5 +37,5 @@ public interface IMogoCloudSocketManager { * @param body 消息体 * @param listener 回执监听 */ - void sendMsg(MsgBody body, IMogoCloudSocketMsgAckListener listener); + void sendMsg(String appId, int headerType, MsgBody body, IMogoCloudSocketMsgAckListener listener); } diff --git a/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java b/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java index 7bdb57a..3541a4b 100644 --- a/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java +++ b/foudations/mogo-socket/src/main/java/com/mogo/cloud/socket/SocketManager.java @@ -19,7 +19,6 @@ import com.zhidao.socket.CallbackManager; import com.zhidao.socket.Environment; import com.zhidao.socket.SocketClient; import com.zhidao.socket.SocketConfig; -import com.zhidao.socket.utils.RequestUtil; import java.util.ArrayList; import java.util.Iterator; @@ -78,8 +77,7 @@ public class SocketManager implements IMogoCloudSocketManager, Callback { private int mCurrentIndex = 0; @Override - public void init(Context context, String appId) { - mAppId = appId; + public void init(Context context) { SocketConfig.instance() .setAppContext(context.getApplicationContext()) .setEnvironment(getEnvironment()) @@ -120,11 +118,11 @@ public class SocketManager implements IMogoCloudSocketManager, Callback { } @Override - public void sendMsg(MsgBody body, IMogoCloudSocketMsgAckListener listener) { + public void sendMsg(String appId, int headerType, MsgBody body, IMogoCloudSocketMsgAckListener listener) { Logger.d(TAG, "sendMsg msgId : " + body.getMsgId()); final byte[] pb = convertToPBBytes(body.getMsgType(), objectToBytes(body.getContent())); - SocketClient.getInstance().sendData(mAppId, MogoCommon.Product.mogoBussiness.getNumber(), pb, MogoConnsvr.MsgType.mogoMsgTypeCollectSvrNoRspReq.getNumber(), true, body.getMsgId()); - mAckListeners.put( body.getMsgId(), listener ); + SocketClient.getInstance().sendData(appId, MogoCommon.Product.mogoBussiness.getNumber(), pb, headerType, true, body.getMsgId()); + mAckListeners.put(body.getMsgId(), listener); } @Override diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/socket/SocketHandler.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/socket/SocketHandler.java index 118a6db..5acf26b 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/socket/SocketHandler.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/socket/SocketHandler.java @@ -18,6 +18,7 @@ import com.mogo.realtime.entity.OnePerSecondSendContent; import com.mogo.realtime.spi.RealTimeProviderImp; import com.mogo.realtime.util.MortonCode; import com.mogo.utils.network.utils.GsonUtil; +import com.zhidao.ptech.connsvr.protocol.MogoConnsvr; import java.util.ArrayList; import java.util.List; @@ -33,7 +34,11 @@ public class SocketHandler { private static final String TAG = "SocketHandler"; private static volatile SocketHandler mInstance; + private static final int HEADER_TYPE = MogoConnsvr.MsgType.mogoMsgTypeCollectSvrNoRspReq.getNumber(); + private static final int HIGH_FREQUENCY_CHANNEL_ID = 0x040002; //高频数据 + private static final int LOW_FREQUENCY_CHANNEL_ID = 0x040003; //低频数据 + private String mAppId; private long serverTime = 0; private long receiveMsgTime = 0; private CloudLocationInfo mLastInfo; @@ -58,12 +63,10 @@ public class SocketHandler { * @param appId 外部传入 */ public void initSocket(Context context, String appId) { - SocketManager.getInstance().init(context, appId); - int msgType = 0x040003; - Log.i(TAG,"msgType : " + msgType); - Log.i(TAG,"msgType integer : " + (Integer)msgType); - SocketManager.getInstance().registerOnMessageListener(0x040002, onMessageListener); - SocketManager.getInstance().registerOnMessageListener(0x040003, onMessageListener); + mAppId = appId; + SocketManager.getInstance().init(context); + SocketManager.getInstance().registerOnMessageListener(HIGH_FREQUENCY_CHANNEL_ID, onMessageListener); + SocketManager.getInstance().registerOnMessageListener(LOW_FREQUENCY_CHANNEL_ID, onMessageListener); } public void registerOnMsgListener(IMogoCloudOnMsgListener onMsgListener) { @@ -126,6 +129,7 @@ public class SocketHandler { /** * 发送自车和ADAS数据 + * * @param cloudLocationInfo 自车定位信息 */ public void sendMsg(List cloudLocationInfo) { @@ -173,14 +177,14 @@ public class SocketHandler { webSocketData.setData(GsonUtil.jsonFromObject(content)); String msg = GsonUtil.jsonFromObject(webSocketData); - int msgType = 0x040003; //低频数据 + int msgType = LOW_FREQUENCY_CHANNEL_ID; if (cloudLocationInfo.size() > 2) { - msgType = 0x040002; //高频数据 + msgType = HIGH_FREQUENCY_CHANNEL_ID; } MsgBody msgBody = new MsgBody(); msgBody.msgType(msgType); msgBody.content(msg); - SocketManager.getInstance().sendMsg(msgBody, msgId -> { + SocketManager.getInstance().sendMsg(mAppId, HEADER_TYPE, msgBody, msgId -> { for (IMogoCloudOnMsgListener listener : onMsgListenerList) { if (listener != null) { listener.onMsgSend(msgId); @@ -190,8 +194,8 @@ public class SocketHandler { } public void stop() { - SocketManager.getInstance().unregisterOnMessageListener(0x040002, onMessageListener); - SocketManager.getInstance().unregisterOnMessageListener(0x040003, onMessageListener); + SocketManager.getInstance().unregisterOnMessageListener(HIGH_FREQUENCY_CHANNEL_ID, onMessageListener); + SocketManager.getInstance().unregisterOnMessageListener(LOW_FREQUENCY_CHANNEL_ID, onMessageListener); SocketManager.getInstance().release(); onMsgListenerList.clear(); onAckListenerList.clear();