【发布时间】:2017-08-08 11:43:31
【问题描述】:
我在 .net core 和 Angular 中构建了实时聊天等应用程序。 一切正常,但是,存储接收到的消息的缓冲区在内容之后有空字节。
我的缓冲区大小为 1024 字节。 但是如果消息有例如 60 个字节,则其余部分由空值填充。
我是否应该将收到的消息重写到新的缓冲区(具有适当的大小),然后只发送这个新的缓冲区? (我现在用的这个方法)
以下是我的接收方法:
private async Task Recive(WebSocket socket, Action<WebSocketReceiveResult, byte[]> handle) //original
{
while(socket.State == WebSocketState.Open)
{
var buffer = new byte[1024];
var result = await socket.ReceiveAsync
(
buffer: new ArraySegment<byte>(buffer),
cancellationToken: CancellationToken.None
);
handle(result, buffer);
}
}
Handle 是应用接收数据后调用的函数。
【问题讨论】:
标签: c# .net asp.net-mvc websocket asp.net-core