/// <summary> /// Close the socket. This is NOT async. .Net doesn't have async closes. /// But, it can be *called* async, particularly from GotData. /// Attempts to do a shutdown() first. /// </summary> public override void Close() { m_sock.Close(); }
public void OnWrite(BaseSocket sock, byte[] buf, int offset, int length) { System.Diagnostics.Debug.WriteLine(ENC.GetString(buf, offset, length)); sock.Close(); }
public bool OnRead(BaseSocket sock, byte[] buf, int offset, int length) { success = ENC.GetString(buf, offset, length); sock.Close(); lock(done) { Monitor.Pulse(done); } return false; }
bool ISocketEventListener.OnRead(BaseSocket sock, byte[] buf, int offset, int length) { int tim = (int)m_listener[Options.KEEP_ALIVE]; if (tim > 0) m_timer.Change(tim, tim); m_listener.BytesRead(buf, offset, length); try { m_elements.Push(buf, offset, length); } catch (Exception e) { ((ISocketEventListener)this).OnError(sock, e); sock.Close(); return false; } return true; }