This commit is contained in:
wangcongtao
2020-02-21 11:45:12 +08:00
parent 95781acafd
commit d84c243799

View File

@@ -74,6 +74,7 @@ public class SocketManager implements IMogoSocketManager, OnSocketReceiveCallbac
private SocketConnManager mSocketConnManager;
private long mLastMsgId = Long.MAX_VALUE;
@Override
public void init( Context context, String appId ) {
@@ -91,15 +92,17 @@ public class SocketManager implements IMogoSocketManager, OnSocketReceiveCallbac
List< IMogoOnMessageListener > listeners = mListeners.get( msgType );
if ( listeners != null && !listeners.isEmpty() ) {
Iterator< IMogoOnMessageListener > iterator = listeners.iterator();
if ( msgId != 0 ) { //兼容老版本
if ( mLastMsgId == msgId ) { // 避免消息重发
return;
}
}
mLastMsgId = msgId;
while ( iterator.hasNext() ) {
IMogoOnMessageListener listener = iterator.next();
if ( listener != null ) {
Object obj = GsonUtil.objectFromJson( payload.getPayload().toStringUtf8(), listener.target() );
if ( obj instanceof IMessageResponse ) {
( ( IMessageResponse ) obj ).setMsgId( msgId );
}
Logger.d(TAG, "received msg == %s, msgId = %s", payload.getPayload().toStringUtf8(), msgId);
listener.onMsgReceived( obj );
listener.onMsgReceived( GsonUtil.objectFromJson( payload.getPayload().toStringUtf8(), listener.target() ) );
}
}
}