EndDisconnect() public method

public EndDisconnect ( IAsyncResult asyncResult ) : void
asyncResult IAsyncResult
return void
コード例 #1
0
ファイル: Socket.cs プロジェクト: soywiz/NodeNet
 public void DisconnectAsync(Action Action = null)
 {
     AsyncQueue.Add(() =>
     {
         try
         {
             NativeSocket.BeginDisconnect(true, (IAsyncResult) =>
             {
                 try
                 {
                     NativeSocket.EndDisconnect(IAsyncResult);
                     Core.EnqueueTask(() =>
                     {
                         if (Action != null)
                         {
                             Action();
                         }
                         AsyncQueue.Next();
                     });
                 }
                 catch (SocketException SocketException)
                 {
                     SocketExceptionThrown(SocketException);
                 }
             }, null);
         }
         catch (SocketException SocketException)
         {
             SocketExceptionThrown(SocketException);
         }
     });
 }
コード例 #2
0
 internal void DisconnectCallback(IAsyncResult ares)
 {
     try {
         curSocket.EndDisconnect(ares);
     } catch (SocketException ex) {
         SocketError = ex.SocketErrorCode;
     } finally {
         OnCompleted(this);
     }
 }
コード例 #3
0
ファイル: SocketAsyncEventArgs.cs プロジェクト: yonder/mono
 internal void DisconnectCallback(IAsyncResult ares)
 {
     try {
         curSocket.EndDisconnect(ares);
     } catch (SocketException ex) {
         SocketError = ex.SocketErrorCode;
     } catch (ObjectDisposedException) {
         SocketError = SocketError.OperationAborted;
     } finally {
         OnCompleted(this);
     }
 }
コード例 #4
0
ファイル: TcpEx.cs プロジェクト: BeagleSystems/MissionPlanner
        private void SocketDisconnectCallBack(IAsyncResult iar)
        {
            Socket socket = (Socket)iar.AsyncState;

            try
            {
                string remoteEndPoint = ((IPEndPoint)socket.RemoteEndPoint).ToString();
                socket.EndDisconnect(iar);
                OnDisconnected(new TcpEventArgs(socket));
                disconnectDone.Set();
            }
            catch (SocketException se)
            {
                ShowError(se);
            }
            finally
            {
                mre.Set();
            }
        }
コード例 #5
0
 void Utils.Wrappers.Interfaces.ISocket.EndDisconnect(System.IAsyncResult asyncResult)
 {
     InternalSocket.EndDisconnect(asyncResult);
 }
コード例 #6
0
        private void BeginDisconnection(IAsyncResult iar)
        {
            try
            {
                client = (Socket)iar.AsyncState;

                client.EndDisconnect(iar);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #7
0
 private static void OnDisonnect(IAsyncResult ar)
 {
     try
     {
         s_socket = (Socket)ar.AsyncState;
         s_socket.EndDisconnect(ar);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + " -> OnDisonnect", @"Chat: " + Client.Name, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }