EasySocket icon indicating copy to clipboard operation
EasySocket copied to clipboard

可以同时连接多个服务器吗?

Open lakersWin opened this issue 3 years ago • 3 comments

可以同时跟多个不同服务器建立连接吗

lakersWin avatar Sep 24 '20 03:09 lakersWin

可以同时跟多个不同服务器建立连接吗 仔细看了下代码是可以创建多个连接的。ConnectionHolder 缓存了 Map 集合,可以通过 buildSpecifyConnection 创建连接,通过 getSpecifyConnection 获取指定的 Socket

zongyanshan avatar Nov 21 '20 09:11 zongyanshan

        val cmdOption = EasySocketOptions.Builder()
            .setSocketAddress(cmdAddress)
            .setReaderProtocol(myProtocol)
            .setOpenRequestTimeout(true)
            .setRequestTimeout(3000L)
            .build()
        val dataOption = EasySocketOptions.Builder()
            .setSocketAddress(dataAddress)
            .setReaderProtocol(myProtocol)
            .setOpenRequestTimeout(true)
            .setRequestTimeout(3000L)
            .build()
        cmdClient = EasySocket.getInstance().options(cmdOption).buildSpecifyConnection(cmdAddress, cmdOption)
        cmdClient?.subscribeSocketAction(dataListener)
        dataClient = EasySocket.getInstance().options(dataOption).buildSpecifyConnection(dataAddress, dataOption)
        dataClient?.subscribeSocketAction(dataListener)
        
        可以同时连接不同服务器

phoebewow avatar Jan 14 '21 01:01 phoebewow

改动下,其中一个连接改成以下的,否则可能出现崩溃

        dataClient = EasySocket.getInstance().options(dataOption).createConnection(Utils.getApp()).connection
        dataClient?.subscribeSocketAction(dataListener)

phoebewow avatar Jan 14 '21 03:01 phoebewow