private void OnDisconnected(SocketEventArgs e) { if (Disconnected != null) { Disconnected(this, e); } }
private void OnDataReceived(SocketEventArgs e) { if (DataReceived != null) { DataReceived(this, e); } }
/// <summary> /// /// </summary> /// <param name="exSocket"></param> /// <param name="opCode"></param> /// <param name="reason"></param> protected void Dispose(ExSocket exSocket, sbyte opCode, string reason) { try { var e = new SocketEventArgs() { Socket = exSocket, Source = new DataMeaage() { OpCode = opCode, Message = reason } }; DoClosed(e); OnDisconnected(e); if (exSocket != null) { exSocket.Close(); } sendEventArg.Dispose(); receiveEventArg.Dispose(); receiveWaitEvent.Dispose(); socketClient.Dispose(); } catch (Exception ex) { TraceLog.WriteError("Dispose connect of client error:{0}", ex); } }
private void OnDataReceived(SocketEventArgs e) { if (DataReceived != null) { DataReceived(this, e); } }
private void OnDisconnected(SocketEventArgs e) { if (Disconnected != null) { Disconnected(this, e); } }
private void OnReceived(ClientSocket sender, SocketEventArgs e) { var token = receiveEventArg.UserToken as DataToken; if (token != null) { token.SyncSegments.Enqueue(new ArraySegment <byte>(e.Data)); } receiveWaitEvent.Set(); }
private void DoReceived(object sender, SocketEventArgs e) { if (_callback != null) { if (_callback(e.Data)) { StopWait(); } } }
/// <summary> /// /// </summary> /// <param name="exSocket"></param> /// <param name="opCode"></param> /// <param name="reason"></param> protected void Dispose(ExSocket exSocket, sbyte opCode, string reason) { try { var e = new SocketEventArgs() { Socket = exSocket, Source = new DataMeaage() { OpCode = opCode, Message = reason } }; DoClosed(e); OnDisconnected(e); exSocket.Close(); } catch (Exception ex) { logger.Error("OnDisconnected", ex); } }
void DataReceived(object sender, SocketEventArgs e) { try { var bytes = new byte[16]; Buffer.BlockCopy(e.Data, 0, bytes, 0, 16); var ssid = new Guid(bytes); var sendResult = proxy.SendDataBack(ssid, e.Data, 16, e.Data.Length - 16); if (!sendResult) { Task.Factory.StartNew(() => { NameValueCollection requestParam = new NameValueCollection(); //连接中断通知游戏服 requestParam["actionid"] = ((int)ActionEnum.Interrupt).ToString(); requestParam["ssid"] = ssid.ToString("N"); requestParam["msgid"] = "0"; string paramStr = RequestParse.ToQueryString(requestParam); byte[] paramData = Encoding.ASCII.GetBytes(paramStr); try { Send(paramData); } catch (Exception ex) { TraceLog.WriteError("连接中断通知游戏服error:{0}\r\nParam:{1}", ex, paramStr); } }); } } catch (Exception er) { TraceLog.WriteError("DataReceived error:{0}", er); } }
/// <summary> /// /// </summary> /// <param name="e"></param> protected virtual void DoClosed(SocketEventArgs e) { }
/// <summary> /// /// </summary> /// <param name="exSocket"></param> /// <param name="opCode"></param> /// <param name="reason"></param> protected void Dispose(ExSocket exSocket, sbyte opCode, string reason) { try { var e = new SocketEventArgs() { Socket = exSocket, Source = new DataMeaage() { OpCode = opCode, Message = reason } }; DoClosed(e); OnDisconnected(e); exSocket.Close(); } catch (Exception ex) { logger.Error("OnDisconnected", ex); } }
/// <summary> /// /// </summary> /// <param name="e"></param> protected virtual void DoOpened(SocketEventArgs e) { connectState = ConnectState.Success; }
/// <summary> /// /// </summary> /// <param name="e"></param> protected virtual void DoOpened(SocketEventArgs e) { connectState = ConnectState.Success; }
/// <summary> /// /// </summary> /// <param name="e"></param> protected virtual void DoClosed(SocketEventArgs e) { }
private void DoClosed(object sender, SocketEventArgs e) { _isConnected = false; StopWait(); }
private void OnReceived(ClientSocket sender, SocketEventArgs e) { var token = receiveEventArg.UserToken as DataToken; if (token != null) { token.SyncSegments.Enqueue(new ArraySegment<byte>(e.Data)); } receiveWaitEvent.Set(); }
private void OnDataReceived(object sender, SocketEventArgs e) { try { var remoteArgs = new RemoteEventArgs() { Data = e.Data }; OnCallback(remoteArgs); } catch (Exception ex) { TraceLog.WriteError("Socket remote received error:{0}", ex); } }
/// <summary> /// /// </summary> /// <param name="exSocket"></param> /// <param name="opCode"></param> /// <param name="reason"></param> protected void Dispose(ExSocket exSocket, sbyte opCode, string reason) { try { var e = new SocketEventArgs() { Socket = exSocket, Source = new DataMeaage() { OpCode = opCode, Message = reason } }; DoClosed(e); OnDisconnected(e); if (exSocket != null) exSocket.Close(); } catch (Exception ex) { TraceLog.WriteError("Dispose connect of client error:{0}", ex); } }
private void OnDisconnected(object sender, SocketEventArgs e) { try { Connected = false; } catch (Exception ex) { TraceLog.WriteError("Socket remote disconnected error:{0}", ex); } }
void Disconnected(object sender, SocketEventArgs e) { proxy.FlushConnected(); }
private static void OnReceive(object sender, SocketEventArgs e) { var myConnect = ((ClientSocket)sender).UserData as MyConnect; if (myConnect != null) { var stream = new MessageStructure(e.Data); var head = stream.ReadHeadGzip(); var pack = new MyPack() { Head = head, Data = e.Data }; myConnect.actionPools.Enqueue(pack); } }
void DataReceived(object sender, SocketEventArgs e) { var bytes = new byte[16]; Buffer.BlockCopy(e.Data, 0, bytes, 0, 16); var ssid = new Guid(bytes); var data = e.Data; var sendResult = proxy.SendDataBack(ssid, e.Data, 16, e.Data.Length - 16); if (!sendResult) { Task.Factory.StartNew(() => { NameValueCollection requestParam = new NameValueCollection(); requestParam["actionid"] = "2"; requestParam["ssid"] = ssid.ToString("N"); requestParam["msgid"] = "0"; byte[] paramData = Encoding.ASCII.GetBytes(RequestParse.ToQueryString(requestParam)); try { Send(paramData); } catch (Exception ex) { logger.Error("发送tcp连接断开通知失败。", ex); } }); } }