我试图在消息的帮助下将一个视频文件从服务器发送到客户端(最多可以发送1440个字节)。根据来自unity客户端的消息,我正在渲染纹理,在编码之后,我将视频字节发送到unity客户端。然后从unity客户端,我存储文件中的那些字节,但我看到我无法从客户端打开该视频文件。你能否告诉我这背后可能是什么原因?
这是我来自服务器的消息。
public class RegisterHostMessages:MessageBase //来自服务器的传出消息
#include <stdio.h>
/******************************************************************************/
void base10_ascii(unsigned char data[], int data_size, char ans[], int ans_size) {
char done;
do {
char r = 0;
done = 1;
for (int i=0; i<data_size; i++) {
int b = (r<<8) + data[i]; //previous remainder and current byte
data[i] = b / 10;
if (data[i] > 0) done = 0; //if any digit is non-zero, not done yet
r = b % 10;
}
for (int i=ans_size-1; i>0; i--) ans[i] = ans[i-1]; //bump up result
ans[0] = r + '0'; //save next digit as ASCII (right to left)
} while (!done);
}
/******************************************************************************/
int main(){
char outputBuffer[15] = {0};
char data[] = { 0x88, 0x2A, 0xC7, 0x2B, 0x00 }; //584833248000
base10_ascii(data,sizeof data,outputBuffer,sizeof outputBuffer);
printf("Output: %s\n",outputBuffer);
return 0;
}
使用
按频道发送消息NetworkServer.SendByChannelToAll(123,msg,channelid);