delegate two way

socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(delegate(object s, SocketAsyncEventArgs e)
                {
                    if (e.SocketError == SocketError.Success)
                    {
                        // Retrieve the data from the buffer
                        response = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred);
                        response = response.Trim('\0');
                    }
                    else
                    {
                        response = e.SocketError.ToString();
                    }

                    _clientDone.Set();
                });

 

 

socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(SocketEventArg_Completed);

void SocketEventArg_Completed(object sender, SocketAsyncEventArgs e) 
        { 
            switch (e.LastOperation) 
            { 
                case SocketAsyncOperation.Connect: 
                    ProcessConnect(e); 
                    break
                case SocketAsyncOperation.Receive: 
                    ProcessReceive(e); 
                    break
                case SocketAsyncOperation.Send: 
                    ProcessSend(e); 
                    break
                default
                    throw new Exception("Invalid operation completed"); 
            } 
        }

 

posted @ 2011-10-13 15:31  chy710  阅读(41)  评论(0)    收藏  举报