请问下消息转码问题

6月前 274

请问用Java写的客户端A发送消息后在客户端B收到消息要如何解码和反序列化? 在im-server发消息给订阅客户端时有打印:DebugUtils.payload2Str(pubMessage.payload())。 这样都是一团乱码,更别说自己用Java写的模拟客户端解码了。

最新回复 (8)
  • x86 6月前
    引用 2
    你看下客户端对应消息的具体定义,比如文本消息,里面会有 encode 和 decode 方法
  • 6月前
    引用 3
    x86 你看下客户端对应消息的具体定义,比如文本消息,里面会有 encode 和 decode 方法
    安卓的SDK里面的decode需要一个MessagePayload传参,而这个类里面去处安卓部分  还有个ProtoMessageContent类,请问这个类在哪?如何引入呢 我这边在安卓SDK中找不到这个类
  • HeavyRain 6月前
    引用 4
    ProtoMessageContent 是mars连接库里的类,引入mars-core-release.aar就可以了
  • HeavyRain 6月前
    引用 5
    如果自定义消息,不需要关注ProtoMessageContent,只需要关注对应的消息encode/decode,另外自定义下消息还有需要注册,SDK会根据收到消息的类型找到对应的消息来decode的
  • 6月前
    引用 6
    HeavyRain 如果自定义消息,不需要关注ProtoMessageContent,只需要关注对应的消息encode/decode,另外自定义下消息还有需要注册,SDK会根据收到消息的类型找到对应的消息来decode的
    好的,麻烦帮我看一下这是我的请求参数:{
        "sender":"gygqmws2k ",
        "conv": {
          "type":0,
          "target":"9ygqmws2k",
          "line":0
        },
        "payload":{
          "type":1,
          "content":"Hello, World!",
          "base64edData":"SGVsbG8sIFdvcmxkIQ=="
        }
      }

    但接收方那边收到的却是个null,有收到,但是是空字符
  • x86 6月前
    引用 7
    你看一眼客户端 textMessageContent 的 encode 和 decode 函数就明白,你需要设置的是 searchableContent 字段
  • 6月前
    引用 8

    加了写进searchableContent字段中了,但返回还是空的

  • HeavyRain 6月前
    引用 9
    https://docs.wildfirechat.cn/base_knowledge/message_content.html
    https://docs.wildfirechat.cn/base_knowledge/message_payload.html

    请服务器端和客户端详细阅读消息内容和消息负载的定义和关系。服务器API/服务器内部/客户端协议栈都是消息负载,客户端SDK负责消息内容和消息负载的相互转换,代码在消息内容的encode和decode中。你们服务器端和客户端的研发一起联调一下吧,客户端需要负责告诉服务器端发送的格式或者发送的数据哪里不对
返回