关于Android中Socket连接 ---一个手机(服务端)连接两个控制板(客户端)(Address already in use)

Keyoumi 发布于 2015/03/19 15:53
阅读 639
收藏 0

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是唯一的一个呢?单例模式?


加载中
0
hibegin
hibegin
你提到了进程,这样说就是2个不同的 map 了撒
Keyoumi
Keyoumi
虽然可能我描述的问题太扯了,都不知道说的啥。……谢谢哥们了
Keyoumi
Keyoumi
一语惊醒梦中人
返回顶部
顶部