设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 8203|回复: 13

业务服务器向录像服务器发送录制指令问题

[复制链接]

1

主题

7

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2014-10-27 19:22:02 | 显示全部楼层 |阅读模式
业务服务器调用录制发送指令方法:
AnyChatServerSDK.StreamRecordCtrl(dwUserId, bStartRecord, dwFlags, dwParam, dwRecordServerId);
返回值为:100,这个状态吗代表什么意思,还有录制指令发送后,服务器并没有开始录制,
请问这个方法如何解决呢?
回复

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2014-10-27 19:26:43 | 显示全部楼层
您好,业务服务器调用API接口返回ErrorCode:100,表示业务服务器没有与核心服务器建立连接,请参考:Windows服务器部署Linux服务器部署

建议上传业务服务器日志文件(AnyChatServerSDK.log)、核心服务器日志文件(AnyChatCoreServer.log),我们帮您分析一下,谢谢。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2014-10-27 19:37:37 | 显示全部楼层
有关中心录像服务器的部署、开发请参考:http://bbs.anychat.cn/forum.php? ... &extra=page%3D1
回复 支持 反对

使用道具 举报

1

主题

7

帖子

19

积分

新手上路

Rank: 1

积分
19
 楼主| 发表于 2014-10-27 19:49:20 | 显示全部楼层
AnyChatServerSDK.log:
[2014-10-27 19:42:22(218)]        AnyChat Server SDK Init,V5.1, Build Time:Oct 13 2014 19:09:55
[2014-10-27 19:42:22(218)]        Invoke        BRAS_InitSDK(0x0)
[2014-10-27 19:42:22(218)]        Ready to connect anychatcoreserver  ....
[2014-10-27 19:42:22(765)]        Success connected to anychatcoreserver...

AnyChatCoreServer.log:
[2014-10-27 19:41:30(875)]        ---------------------Init Service--------------------------
[2014-10-27 19:41:30(890)]        Current File Version[5, 1, 0, 0],Build time:2014-10-13 19:11:42
[2014-10-27 19:41:30(906)]        Load brservernetlayer.dll success!(V5.1, Build time:Oct 13 2014 19:11:24)
[2014-10-27 19:41:30(906)]        Start TCP Server Successed(port=8906)!
[2014-10-27 19:41:30(921)]        Start UDP Server Successed(port=8907)!
[2014-10-27 19:41:30(921)]        AnyChat IPC Filter Plus Init, Build Time:Oct 13 2014 19:11:26
[2014-10-27 19:41:30(921)]        Load SDK Filter Plus:IPCFilterPlus.dll Success, ver:SDK Filter Plus (IPC), for Windows V5.1
[2014-10-27 19:41:30(937)]        Start Server At Demo Mode!
[2014-10-27 19:42:23(281)]        Successful communicate with the business server!
[2014-10-27 19:44:18(203)]        Successful communicate with the record server!(192.168.25.27:2258, id:-1)

AnyChatRecordServer.log:
[2014-10-27 19:44:18(140)]        AnyChat Record Server Init,V5.1, Build Time:Oct 13 2014 19:10:38
[2014-10-27 19:44:18(140)]        Record Root Directory: C:\Documents and Settings\Administrator\桌面\AnyChatCoreSDK_Win32_r4297\bin\recordserver\record\
[2014-10-27 19:44:18(140)]        Ready to connect anychatcoreserver  192.168.25.27(8907)....
[2014-10-27 19:44:18(203)]        Load BRMediaUtil.dll success!(V5.2 Build Time:Oct 13 2014 19:10:51)
[2014-10-27 19:44:18(203)]        Successfully connect to the anychatcoreserver!
回复 支持 反对

使用道具 举报

1

主题

7

帖子

19

积分

新手上路

Rank: 1

积分
19
 楼主| 发表于 2014-10-27 19:52:13 | 显示全部楼层
本帖最后由 tangtangyamu 于 2014-10-27 19:55 编辑

您好!相关资料已经阅读,我描述下我的环境:
核心服务器采用:AnyChatCoreSDK_Win32_r4297\bin\server
业务服务器采用:AnyChatCoreSDK_Win32_r4297\src\server\java\AnyChatBussinessServer
录像服务器采用:C:\Documents and Settings\Administrator\桌面\AnyChatCoreSDK_Win32_r4297\bin\recordserver\

在业务处理器添加一个方法,调用:
// 中心端录像控制
public static native int StreamRecordCtrl(int dwUserId, int bStartRecord, int dwFlags, int dwParam, int dwRecordServerId);
// 中心端录像控制(扩展)
public static native int StreamRecordCtrlEx(int dwUserId, int bStartRecord, int dwFlags, int dwParam, String lpUserStr, int dwRecordServerId);

但是这两个方法都是返回100,连接超时

回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2014-10-27 19:52:22 | 显示全部楼层
您好,上面的日志显示都是正常的,建议您开启业务服务器的调试模式,将会输出更多的信息。

请修改AnyChatServerSDK.ini,将DebugMode改为1,然后重启业务服务器程序即可。

另外调用API:AnyChatServerSDK.StreamRecordCtrl之前,请确保已经调用了InitSDK接口且核心服务器与业务服务器已经连接成功。
回复 支持 反对

使用道具 举报

1

主题

7

帖子

19

积分

新手上路

Rank: 1

积分
19
 楼主| 发表于 2014-10-27 20:22:46 | 显示全部楼层
您好,AnyChatRecordServer.ini是设置为debug模式
DebugMode改为1
[Base Settings]
DebugMode=1
ServerIpAddr=192.168.25.27
ServerUdpPort=8907
RecordRootDir=record
RecordRootURL=http://www.anychat.cn/record/
ServerCallBackPathType=1
ClientCallBackPathType=2

调用API:AnyChatServerSDK.StreamRecordCtrl之前,请确保已经调用了InitSDK接口,我调用的是InitSDK(0),初始化方法返回0,但是AnyChatServerSDK.StreamRecordCtrl方法仍然为100,是录像服务器连接不上?还有InitSDK(0)传输的参数是否正确呢,我业务服务器采用的java代码
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2014-10-27 20:31:21 | 显示全部楼层
您好,客户端是否已经连接上服务器?

如果连接上服务器,业务服务器日志(AnyChatServerSDK.log)应该会有相关的记录?但是从前面您上传的日志来看,并没有对应的客户端登录记录?

另外您是否运行了多个业务服务器程序?因为一个核心服务器只能对应一个业务服务器,第二个业务服务器将连接不上核心服务器,调用任何API接口都将返回ErrorCode:100。

还有InitSDK(0)传输的参数是否正确呢,我业务服务器采用的java代码

传0参数没有问题。

我调用的是InitSDK(0),初始化方法返回0,但是AnyChatServerSDK.StreamRecordCtrl方法仍然为100,是录像服务器连接不上
您是在什么时候调用的StreamRecordCtrl呢,是InitSDK之后马上就调用?
回复 支持 反对

使用道具 举报

1

主题

7

帖子

19

积分

新手上路

Rank: 1

积分
19
 楼主| 发表于 2014-10-28 09:30:08 | 显示全部楼层
您好,这是业务处理器swing窗口运行控制器台信息:
V5.1 Build Time:Oct 13 2014 19:09:55
10-28 09:02:39:671  Connect AnyChatCoreServer successed!
10-28 09:02:52:296  Success connected with anychatrecordserver(id:0) ...
证明了,业务服务器和核心、录像服务器都已经连接成功!
用户登入也成功,视频双方也都打开
业务服务器添改代码如下:
BusinessServer.java:
public static AnyChatServerSDK anychat; //该成员变量改成static

同一个包内创建一个类 RecordServer.java:
package com.bairuitech.server;
public class RecordServer {
        @SuppressWarnings("static-access")
        public static void main(String[] args) {
//                System.out.println(BusinessServer.anychat.StreamRecordCtrl(1, 1, 0, 0, 0));
                System.out.println(BusinessServer.anychat.StreamRecordCtrlEx(1, 1, 0, 0, "0", 0));
        }
}
运行RecordServer的main方法,返回的100,帮我看看上面的测试方法是否正确?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2014-10-28 09:36:58 | 显示全部楼层
您好,您不能在main函数里面直接调用录像的API接口,因为main函数是最早运行的,而业务服务器连接核心服务器是一个异步的过程。

您应该在一些业务场景中调用录像的API接口,而不是在程序的入口main函数中,而且第一个参数userid也必须为在线用户的userid,您这样直接传一个“1”是不合适的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-3-29 23:39 , Processed in 0.125534 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表