fixbug and wait socket to fic
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
package com.mogo.realtime.socket;
|
||||
|
||||
/**
|
||||
* 长连接数据消息ack回调
|
||||
*/
|
||||
public interface IMogoCloudOnAckListener {
|
||||
|
||||
/**
|
||||
* 对齐系统时间
|
||||
* @param resetTime 系统时间
|
||||
*/
|
||||
void onAck(long resetTime);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,20 @@ package com.mogo.realtime.socket;
|
||||
|
||||
import com.mogo.realtime.entity.MogoSnapshotSetData;
|
||||
|
||||
/**
|
||||
* 长连接数据上报下发回调
|
||||
*/
|
||||
public interface IMogoCloudOnMsgListener {
|
||||
|
||||
/**
|
||||
* 长连接数据发送回调
|
||||
* @param id 发送消息id
|
||||
*/
|
||||
void onMsgSend(long id);
|
||||
|
||||
/**
|
||||
* 长连接数据接收回调
|
||||
* @param mogoSnapshotSetData 自车周边数据
|
||||
*/
|
||||
void onMsgReceived(MogoSnapshotSetData mogoSnapshotSetData);
|
||||
}
|
||||
|
||||
@@ -121,6 +121,10 @@ public class SocketHandler {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 发送自车和ADAS数据
|
||||
* @param cloudLocationInfo 自车定位信息
|
||||
*/
|
||||
public void sendMsg(List<CloudLocationInfo> cloudLocationInfo) {
|
||||
if (cloudLocationInfo == null) {
|
||||
Log.e(TAG, "请检查传入数组对象为Null");
|
||||
@@ -158,6 +162,7 @@ public class SocketHandler {
|
||||
Log.d(TAG, "no information to sent");
|
||||
return;
|
||||
}
|
||||
|
||||
WebSocketData webSocketData = new WebSocketData();
|
||||
webSocketData.setMsgType(MSG_TYPE_UPLINK_CAR_DATA.getMsgType());
|
||||
webSocketData.setSeq(computeSendMsgTime());
|
||||
@@ -173,15 +178,22 @@ public class SocketHandler {
|
||||
msgBody.msgType(msgType);
|
||||
msgBody.content(msg);
|
||||
SocketManager.getInstance().sendMsg(msgBody, msgId -> {
|
||||
|
||||
for (IMogoCloudOnMsgListener listener : onMsgListenerList) {
|
||||
if (listener != null) {
|
||||
listener.onMsgSend(msgId);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
SocketManager.getInstance().unregisterOnMessageListener(0x040002, onMessageListener);
|
||||
SocketManager.getInstance().unregisterOnMessageListener(0x040003, onMessageListener);
|
||||
SocketManager.getInstance().release();
|
||||
onMsgListenerList.clear();
|
||||
onAckListenerList.clear();
|
||||
mLastInfo = null;
|
||||
mInstance = null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user