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();