1
回答
关于Android中Socket连接 ---一个手机(服务端)连接两个控制板(客户端)(Address already in use)
华为云实践训练营,热门技术免费实践!>>>   

Android手机程序里一个Activity,一个Service,两个进程。两个进程里都开启了连接。实例化if(serverSocket  == Null)则new一个服务端,有两个Socket客户端连接到服务端(用Map保存--连接的IP为Key,Socket对象为Value)。分别控制获取到的不同的Socket对象。发送不同的信息到客户端。
1、现在有一个问题就是获取到客户端的两个连接之后,第二个连接出现异常-----System.err(5578): java.net.BindException: bind failed: EADDRINUSE (Address already in use)----

2、还有一个问题就是我用ip去获取保存在Map里的对象时Map里有为null的情况。是不是两个进程分别开启了一个线程去连接Socket的时候,每个进程都new了一个Map?  那么怎么去保证这个Map是唯一的一个呢?单例模式?


<无标签>
举报
Keyoumi
发帖于3年前 1回/622阅
顶部