AnyChat技术支持论坛

标题: 咨询:业务服务器怎么获取房间用户状态,通话中还是空闲,用户状态改变会触发哪个... [打印本页]

作者: の北極晴朗    时间: 2013-11-22 10:33
标题: 咨询:业务服务器怎么获取房间用户状态,通话中还是空闲,用户状态改变会触发哪个...
怎样获取房间1里面已有用户的状态,是通话中还是空闲。用户状态改变会触发哪个回调么?

作者: 佰锐技术-卓剑锐    时间: 2013-11-22 10:56
没有直接的方法可以直接获取用户是否正在跟别人视频。你可以在业务服务器做一些处理,比如由业务服务器主动向用户发出请求,从返回的状态中得知用户状态
作者: 廖斌    时间: 2013-11-22 10:57
您好。这个不能我们没有提供相关的状态查询。通话这个状态是上层定义的,内核没有这个状态。你们可以记录下来,然后通过指令查询
作者: admin    时间: 2013-11-22 11:13
是的,需要业务层服务器自己来处理,可以使用透明通道接口来传输自定义的指令,参考:http://www.anychat.cn/faq/index. ... =206&artlang=zh

作者: の北極晴朗    时间: 2013-11-25 10:57
再咨询个问题,anychatserver4java.so(windows下叫anychatserver4java.dll)在哪里能下载到,anychatcoresdk_linux_x64_v1.8这个包里面也没有.难道win下和liunx不是一个名字么
作者: の北極晴朗    时间: 2013-11-25 10:59
还有个问题,用户进入房间,获取房间列表这一步,会不会触发BusinessService的某个回调?
作者: 佰锐技术-卓剑锐    时间: 2013-11-25 11:08
の北極晴朗 发表于 2013-11-25 10:57
再咨询个问题,anychatserver4java.so(windows下叫anychatserver4java.dll)在哪里能下载到,anychatcores ...

你好,linux里的应该是libanychatserver4java.so
作者: 佰锐技术-卓剑锐    时间: 2013-11-25 11:08
の北極晴朗 发表于 2013-11-25 10:59
还有个问题,用户进入房间,获取房间列表这一步,会不会触发BusinessService的某个回调?

你指的是获取房间内在线用户?
作者: の北極晴朗    时间: 2013-11-25 11:21
佰锐技术-卓剑锐 发表于 2013-11-25 11:08
你指的是获取房间内在线用户?

是这个意思
作者: 佰锐技术-卓剑锐    时间: 2013-11-25 11:26
你好,没有触发的。直接(C#版)AnyChatCoreSDK.GetOnlineUser方便可获得当前房间在线用户的。
作者: admin    时间: 2013-11-25 11:58
の北極晴朗 发表于 2013-11-25 10:57
再咨询个问题,anychatserver4java.so(windows下叫anychatserver4java.dll)在哪里能下载到,anychatcores ...

在anychat for linux sdk的:bin\serversdk\libanychatserver4java.so
作者: の北極晴朗    时间: 2013-11-25 12:11
java.lang.UnsatisfiedLinkError: /usr/lib/libanychatserver4java.so: libanychatserversdk.so: cannot open shared object file: No such file or directory   这个怎么解决
作者: の北極晴朗    时间: 2013-11-25 12:11
直接扔到/usr/lib不行
作者: 佰锐技术-卓剑锐    时间: 2013-11-25 13:31
の北極晴朗 发表于 2013-11-25 12:11
直接扔到/usr/lib不行

你试下放在你程序目录下
作者: admin    时间: 2013-11-25 13:55
您好,请将libanychatserversdk.so、libanychatserver4java.so同时拷贝到任意目录下,然后设置LD_LIBRARY_PATH变量即可。

如果还是不行,请确认您下载的SDK和您的操作系统是一致的,主要是32bit和64bit。可执行如下指令查看动态库的依赖:

  1. ldd ./libanychatserversdk.so
  2. ldd ./libanychatserver4java.so
复制代码
如果还是不行,请将上述指令的执行结果帖上来,我们帮您分析一下,谢谢。
作者: の北極晴朗    时间: 2013-11-25 14:10
上个问题建立软链接解决了,又出现
Exception in thread "Thread-21" java.lang.UnsatisfiedLinkError: com.bairuitech.anychat.AnyChatServerSDK.RegisterNotify()I
        at com.bairuitech.anychat.AnyChatServerSDK.RegisterNotify(Native Method)
        at com.bairuitech.anychat.AnyChatServerSDK.SetServerEvent(AnyChatServerSDK.java:32)
        at com.bairuitech.anychat.AnyChatServer.init(AnyChatServer.java:32)
        at com.mybank.gateway.util.AnychatThread.run(AnychatThread.java:27)

RegisterNotify方法报错,RegisterNotify方法调用哪个.so文件了????是不是我要将/anychatcoresdk_linux_r3803/bin/server里面的所有.so文件都软链接下?
作者: admin    时间: 2013-11-25 14:30
不需要,您只需要到anychat for linux sdk\bin\serversdk\目录下的.so库拷贝到相关的路径即可,其中 com.bairuitech.anychat.AnyChatServerSDK.RegisterNotify()是libanychatserver4java.so所提供的api接口。
作者: の北極晴朗    时间: 2013-11-25 14:54
没解决,仍然报java.lang.UnsatisfiedLinkError: /usr/lib/libanychatserver4java.so: libanychatserversdk.so: cannot open shared object file: No such file or directory  链接库找不到
[root@APP serversdk]# ldd ./libanychatserver4java.so
        linux-vdso.so.1 =>  (0x00007fff13bff000)
        libanychatserversdk.so => not found
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f52e6e04000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f52e6b80000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f52e696a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f52e65d6000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003da5800000)

我的java.library.path是  /usr/lib64:/lib64:/lib:/usr/lib
作者: の北極晴朗    时间: 2013-11-25 15:08
[root@APP serversdk]# ldd ./libanychatserversdk.so
        linux-vdso.so.1 =>  (0x00007fff0bdf2000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4d33fb1000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f4d33caa000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f4d33a26000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4d33810000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f4d3347c000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003da5800000)
[root@APP serversdk]#
[root@APP serversdk]#
[root@APP serversdk]# ldd ./libanychatserver4java.so
        linux-vdso.so.1 =>  (0x00007fffebe20000)
        libanychatserversdk.so => not found
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f2107f53000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f2107ccf000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2107ab9000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f2107725000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003da5800000)   
作者: の北極晴朗    时间: 2013-11-25 15:32
解决了  要放到lib64  不是lib
作者: admin    时间: 2013-11-25 15:41
最简单的解决办法:将libanychatserversdk.so、libanychatserver4java.so同时拷贝到任意目录下,然后设置LD_LIBRARY_PATH变量即可。

这样的话,就不需要考虑是放到lib,还是lib64目录下了。




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3