public IAsyncResult BeginReceiveFrom(byte[] buffer, int size, SocketFlags flags, ref EndPoint ep, AsyncCallback callback, object state) { CallbackState st = new CallbackState(); st.buffer = buffer; st.size = size; st.state = state; return(_socket.BeginReceiveFrom(buffer, 0, size, flags, ref ep, callback, st)); }
public int BeginSend(byte[] buffer, int size, SocketFlags flags, AsyncCallback callback, object state) { CallbackState st = new CallbackState(); st.size = size; st.state = state; _socket.BeginSend(buffer, 0, size, 0, callback, st); return(size); }
public int EndReceive(IAsyncResult ar) { int bytesRead = _socket.EndReceive(ar); if (bytesRead > 0) { CallbackState st = (CallbackState)ar.AsyncState; st.size = bytesRead; return(bytesRead); } _close = true; return(bytesRead); }
public byte[] GetAsyncResultBuffer(IAsyncResult ar) { CallbackState st = (CallbackState)ar.AsyncState; return(st.buffer); }
public int GetAsyncResultSize(IAsyncResult ar) { CallbackState st = (CallbackState)ar.AsyncState; return(st.size); }