[局域网内通讯]
This commit is contained in:
yangyakun
2024-08-13 11:48:07 +08:00
parent 0fbbe47a8f
commit 0806383490
17 changed files with 186 additions and 191 deletions

View File

@@ -22,11 +22,11 @@ object LoginLanDriverSocket : ILoginCallback {
// 接受到客户端注册信息后立即返回业务模式
private val registerListener = object : ILanMessageListener<BaseDPMsg> {
override fun target(): Class<BaseDPMsg> {
override fun targetLan(): Class<BaseDPMsg> {
return BaseDPMsg::class.java
}
override fun onMsgReceived(obj: BaseDPMsg?) {
override fun onLanMsgReceived(obj: BaseDPMsg?) {
println("-------${obj}")
if(LoginStatusManager.isLogin()) {
FlavorUtils.getEnvCheck()

View File

@@ -74,11 +74,11 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase<IOchLanPasseng
// 环境监测
private val checkListener = object : ILanMessageListener<EnvCheck> {
override fun target(): Class<EnvCheck> {
override fun targetLan(): Class<EnvCheck> {
return EnvCheck::class.java
}
override fun onMsgReceived(first: EnvCheck?) {
override fun onLanMsgReceived(first: EnvCheck?) {
first?.let {
val checkEnv = checkEnv(first.projectType, first.envType, first.vehicleType, first.businessType)
if (first.sourceScreenType== ScreenType.Driver) {
@@ -105,11 +105,11 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase<IOchLanPasseng
// 环境监测+业务展示和跳转
private val changeBusinessType = object : ILanMessageListener<ChangeBusinessType> {
override fun target(): Class<ChangeBusinessType> {
override fun targetLan(): Class<ChangeBusinessType> {
return ChangeBusinessType::class.java
}
override fun onMsgReceived(first: ChangeBusinessType?) {
override fun onLanMsgReceived(first: ChangeBusinessType?) {
first?.let {
val checkEnv = checkEnv(
first.projectType,

View File

@@ -2,8 +2,8 @@ package com.mogo.och.common.module.manager.socket.lan;
public interface ILanMessageListener<T> {
Class<T> target();
Class<T> targetLan();
void onMsgReceived(T obj);
void onLanMsgReceived(T obj);
}

View File

@@ -25,11 +25,11 @@ object LanSocketManager : LanSocketManagerJava() {
private const val TAG = "LanSocketManager"
val commonListener = object : ILanMessageListener<AppConnectMsg> {
override fun target(): Class<AppConnectMsg> {
override fun targetLan(): Class<AppConnectMsg> {
return AppConnectMsg::class.java
}
override fun onMsgReceived(first: AppConnectMsg?) {
override fun onLanMsgReceived(first: AppConnectMsg?) {
first?.let {
if (it.isPlay) { //播报
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

View File

@@ -61,9 +61,9 @@ public class LanSocketManagerJava implements IReceivedMsgListener {
List<ILanMessageListener> iLanMessageListenerJavas = mListeners.get(baseMsg.getType());
if(iLanMessageListenerJavas!=null){
for (ILanMessageListener iLanMessageListenerJava : iLanMessageListenerJavas) {
Class<? extends BaseDPMsg> target = iLanMessageListenerJava.target();
Class<? extends BaseDPMsg> target = iLanMessageListenerJava.targetLan();
BaseDPMsg baseDPMsg = GsonUtils.fromJson(new String(byteArray), target);
iLanMessageListenerJava.onMsgReceived(baseDPMsg);
iLanMessageListenerJava.onLanMsgReceived(baseDPMsg);
}
}
}

View File

@@ -43,8 +43,10 @@ object RxUtils {
return !disposable.isDisposed
}
//2022.1.28
// 调用Disposable.dispose() 时候会出现InterruptedException 导致出现崩溃
// The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the excTeption has nowhere to go to begin with
// The exception could not be delivered to the consumer because it has already canceled/disposed
// the flow or the excTeption has nowhere to go to begin with
fun errCatch(){
RxJavaPlugins.setErrorHandler(Consumer { e ->
if (e is UndeliverableException) {

View File

@@ -82,11 +82,11 @@ class ExampleUnitTest {
fun testLanSocketManager(){
LanSocketManager.registerSocketMessageListener(4,object :
ILanMessageListener<EnvCheck> {
override fun target(): Class<EnvCheck> {
override fun targetLan(): Class<EnvCheck> {
return EnvCheck::class.java
}
override fun onMsgReceived(obj: EnvCheck?) {
override fun onLanMsgReceived(obj: EnvCheck?) {
println(obj)
}
})