【问题标题】:what should I do to solve flutter socket_io_client client automatic dissconnect?flutter socket_io_client 客户端自动断开应该怎么解决?
【发布时间】:2023-01-16 21:51:16
【问题描述】:

我使用 socket_io_client 连接到服务器套接字。它工作正常,但在得到第一个响应后它断开连接,我应该一次又一次地连接它。它不会无限地听服务器。这是我的代码

 initSocket(String msg,String userStr) async {
    if(socket!=null){
      await loginToServer('$userName\n');
    }else{
      socket = await Socket.connect(socketIpAddress, 1500);
      print('Connected to: ${socket!.remoteAddress.address}:${socket!.remotePort}');
      await loginToServer('$userName\n');
      // listen for responses from the server
      socket?.listen(

        // handle data from the server
              (Uint8List data) {
            final serverResponse = String.fromCharCodes(data);
            print('Server: $serverResponse');
            if(serverResponse.contains('hello')){
              sendMessage(msg, userStr);
            }else{
              ParserSocket().getMessage(serverResponse.substring(9), serverResponse.substring(3,9), SentType.Internet, false, ctx);
            }


          },

          // handle errors
          onError: (error) {
            print(error);
            socket?.destroy();
          },

          // handle server ending connection
          onDone: () {
            print('Server left.');
            socket!.destroy();
          },
          cancelOnError: false
      );
    }
  }

Future<void> sendMessage(String message,String userName) async {

    print('Client: $msg');
    socket?.write(msg);
    
  }

我检查了 onDone() 方法但没有结果

【问题讨论】:

    标签: android ios flutter


    【解决方案1】:

    确保所有单词都拼写正确。 尝试不同的关键字。 尝试使用更宽泛的关键字。 尝试更少的关键字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 2013-02-17
      • 2010-11-01
      相关资源
      最近更新 更多