62,072
社区成员
发帖
与我相关
我的任务
分享
try { socket.Send(strMsg); }
catch(Exception err) {
// 这里的err是 “未将对象引用设置到对象的实例。”
}
public async Task Send(string userMsg) {
// 监控 wsCtx.IsClientConnected 不是 false 就是 true,所以 wsCtx 不是被释放状态
if(!wsCtx.IsClientConnected) { OnMessage("Lose", 0); return; }
// 这里如果不用 try,调用方就有可能出现“索引超出了数组界限”的错误,加了 try 就是“未将对象引用设置到对象的实例。”
try { var buffer = new ArraySegment<byte>(Encoding.UTF8.GetBytes(userMsg));
await wsCtx.WebSocket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);
} catch { }
}
private void OnMessage(string msg, int code) {
try { MessageBack.Invoke(msg, code); } catch { }
}