我有一个Red5客户端实现,它发布流,从视频文件加载到我们的wowza媒体服务器。问题是,如果流名称太大--大约超过90个符号--客户端不会发布它,并且会默默地失败。所有预期客户端的其他操作都完成了:它连接到服务器并创建流。但从未发表过这条流。我没有看到相应的RTMP消息,也没有在wowza的日志中看到相应的反应。
我试着调试客户机并跟踪执行,直到它开始写入SocketChannel。对于较短的命名流(它发布ok)和具有长名称的流( RTMP命令"to publish“从不发送)的执行情况,一切都是一样的。
A问题如下:
更新...and,这就更奇怪了--在发送了“大”数据包之后,发送一个更小的包是没有帮助的。在将较大长度的数据包提交到套接字后,不能发送数据包。
发布于 2013-10-06 00:28:47
如果我在没有抛出任何异常的情况下向SocketChannel写入了一些字节--它是否保证发送了相应的消息?
它确保数据已在套接字发送缓冲区中本地缓冲,直到写()返回的计数为止。没别的了。
由于您无法发送更多的数据,我觉得接收方似乎没有读取大量的数据。它是否有可能在例外情况下失败,并且完全停止阅读?
https://stackoverflow.com/questions/19144332
复制相似问题