private WebSocketHandle GetHandle(string address) { WebSocketHandle handle = null; m_handles.TryGetValue(address, out handle); return(handle); }
// -- Nando private async Task WebSocketPipe(HttpContext context, WebSocket ws) { var handle = new WebSocketHandle(ws); WebSocketReceiveResult result = await ws.ReceiveAsync(new ArraySegment <byte>(handle.buffer), CancellationToken.None); while (!result.CloseStatus.HasValue) { // -- Nando - Build String Buffered await handle.ParseMessageReceived(result); result = await ws.ReceiveAsync(new ArraySegment <byte>(handle.buffer), CancellationToken.None); } await ws.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None); }
public void AddListener(string address , Action onOpen , Action <ushort, string, bool> onClose , Action <Opcode, byte[]> onReceive , Action <string> onError) { WebSocketHandle handle = new WebSocketHandle(); handle.onOpen = onOpen; handle.onClose = onClose; handle.onReceive = onReceive; handle.onError = onError; if (!m_handles.ContainsKey(address)) { m_handles.Add(address, null); } m_handles[address] = handle; }
void Send(WebMessageData message) { var buffer = WebSocketHandle.PacketResponseData(message); SendDataToServer(buffer); }
/// <summary> /// 初始化新实例 /// </summary> /// <param name="webSocketClient"></param> public WebClientSession(WebSocketClient webSocketClient) { _webSocketClient = webSocketClient; _handle = new WebSocketHandle(this); }