• GoBelieve JS IM SDK接入备忘


     

    类IMService

    构造函数

    参数说明:
      * `observer` 回调对象(可选)

    设置当前用户的access token

    属性名:String accessToken
    功能:在调用start之前必须要设置用户的accessTokentoken是由第三方应用服务器调用IM服务器RestAPI所得。

    开始接受消息

    方法名:start
    功能:用户登陆成功后,连接im服务器来接受在线消息。
    返回值:无返回值

    停止接受消息

    方法名:stop
    功能:用户注销后,断开和im服务器的连接,从而终止接受在线消息。
    返回值:无返回值

    发送消息

    方法名: sendPeerMessage
    功能:发送im消息,如果当前连接处于断开状态,消息会发送失败, 函数返回YES,也不能表明服务器已经接收到消息。
    参数说明:
        *msg 消息对象
    
    返回值:bool返回值

    IMService Observer

    onConnectState

    功能:连接状态变更通知
    参数说明:
      * state 连接状态

    消息

    方法名: handlePeerMessage
    功能:接受到一条im消息
    参数说明:
        *msg 消息对象
    返回值:无返回值

    消息ACK

    方法名: handleMessageACK
    功能:服务器对收到消息的ack,此时这条消息才能标志为发送成功
    参数说明:
        *msgLocalID(`Number`) 消息的本地ID
        *uid(`Number`) 消息接受者
    返回值:无返回值

    消息接受者ACK

    方法名: handleMessageRemoteACK
    功能:消息已经被对端接收到。
    参数说明:
        *msgLocalID(`Number`) 消息的本地ID
        *uid(`Number`) 消息接受者
    返回值:无返回值

    消息发送失败

    方法名: handleMessageFailure
    功能:消息发出后,未收到服务器的ack,在和服务器的连接断开后,会通知消息发送失败。
    参数说明:
        *msgLocalID(`Number`) 消息的本地ID
        *uid(`Number`) 消息接受者
    返回值:无返回值

    example

    <script src="/engine.io.js"></script>
    <script src="/json2.js"></script>
    <script src="/im.js"></script>
    <script>
      var observer = {
          handlePeerMessage: function (msg) {
              console.log("msg sender:", msg.sender, " receiver:", msg.receiver, " content:", msg.content, " timestamp:", msg.timestamp)
          },
          handleMessageACK: function(msgLocalID, receiver) {
              console.log("message ack local id:", msgLocalID, " receiver:", receiver)
          },
          handleMessageFailure: function(msgLocalID, receiver) {
              console.log("message fail local id:", msgLocalID, " receiver:", receiver)
          },
          onConnectState: function(state) {
              if (state == IMService.STATE_CONNECTED) {
                 console.log("im connected");
              } else if (state == IMService.STATE_CONNECTING) {
                 console.log("im connecting");
              } else if (state == IMService.STATE_CONNECTFAIL) {
                 console.log("im connect fail");
              } else if (state == IMService.STATE_UNCONNECTED) {
                 console.log("im unconnected");
              }
          },
          onReset: function() {
              console.log("reset");
          }
      }
    
      var im = new IMService(observer);
      im.accessToken = "????";
      im.start()
    
      var msg = {sender:100, receiver:200, content:"11", msgLocalID:1000}
    
      //connectState == STATE_CONNECTING
      var r = im.sendPeerMessage(msg);
      //r == false
      console.log("send message result:", r);
    
      function send() {
          var msg = {sender:100, receiver:100, content:"11", msgLocalID:1000}
          if (im.connectState == IMService.STATE_CONNECTED) {
              im.sendPeerMessage(msg);
          }
      }
    
      setTimeout(send, 2000)
    </script>
  • 相关阅读:
    Ubuntu14.04+cuda 7.5+cudnn_v4+tensorflow安装
    error C2275: “XXX”: 将此类型用作表达式非法
    DLL调试方法
    OpenCV ——双线性插值(Bilinear interpolation)
    OpenCV ——背景建模之CodeBook(2)
    OpenCV ——背景建模之CodeBook(1)
    OpenCV——GMM混合高斯模型
    OpenCV——运用于pixels war游戏
    【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO单点登录场景下的作用
    【Spring】简述@Configuration配置类注册BeanDefinition到Spring容器的过程
  • 原文地址:https://www.cnblogs.com/nuanshou/p/4401117.html
Copyright © 2020-2023  润新知