EMA reconnection

Team您好!

针对EMA 连接RTO,如果TCP连接断开,如何捕获状态报错,进而客户重新创建连接/new consumer ?

之前问过类似问题,后台同事总说参考ex330_Login_Streaming demo, 但客户还是不知道怎么捕获。

请协助!

如下是客户问题,如方便我可以组织会议讨论一下。

1.如何捕获tcp 断连异常

2.捕获断连异常如何重新连接

3.是否可以设置tcp重连次数

谢谢!

Tagged:

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @gang.chen1

    You need to add the following code into ex450_MP_QueryServiceDiscovery to get the login status messages.

                LoginReq loginReq = EmaFactory.Domain.createLoginReq();
                consumer.registerClient(loginReq.message(), appClient);

    1657765119891.png

    Then, it will get the login status when the channel is down and up.

    StatusMsg
        streamId="1"
        domain="Login Domain"
        state="Open / Suspect / None / 'channel down'"
        name="..."
        nameType="1"
    StatusMsgEnd
    ...
    ...
    StatusMsg
    streamId="1"
    domain="Login Domain"
    state="Open / Ok / None / 'channel up'"
    name="..."
    nameType="1"
    StatusMsgEnd


Answers