lvzixun / sproto-Csharp

A pure C# implementation of sproto.
140 stars 53 forks source link

发送音频流的问题 #13

Closed ldy105cn closed 7 years ago

ldy105cn commented 7 years ago

一些数据, 比如说音频、视频、图像的数据流,System.Text.Encoding.UTF8.GetString转成string会丢失数据,使用List也不是最好的方案,能不能加一个直接填充byte[]的接口, 直接把某个tag填充byte[]数据,在encode的时候,直接把这个byte[] copy到base.serialize,decode的时候做一些特殊处理,直接从base.deserialize读出这个tag

lvzixun commented 7 years ago

base64之后再传输那? PS:如果是向game服务器发送音频,视频,图像这些文件, 不应该通过sproto远程调用的方式直接把数据发给game服务器。应该是通过http/ftp的方式推送给文件服务,之后文件服务返回给连接或者ID这样子,之后客户端在协议里面讲元数据替换成ID或者连接这样子发给game服务器。

ldy105cn commented 7 years ago

base64试过了,也不行。使用web的话有点简单问题复杂化的意思,特别是类似语音聊天这种需求,不是太适用,如果让game服务器来做,转发一下就完事了

lvzixun commented 7 years ago

最近工作上的事情太多了 Orz, 我可能近期没有时间添加, 你可以提交下PR增加下吗?

ldy105cn commented 7 years ago

重新review了一下测试代码,用来测试的base64代码有问题,用c#的Convert.ToBase64String转换之后测试是成功的,多谢指点

lvzixun commented 7 years ago

;)