Поделиться через


NetworkStream.Socket Свойство

Определение

Возвращает основной объект Socket.

public:
 property System::Net::Sockets::Socket ^ Socket { System::Net::Sockets::Socket ^ get(); };
protected:
 property System::Net::Sockets::Socket ^ Socket { System::Net::Sockets::Socket ^ get(); };
public System.Net.Sockets.Socket Socket { get; }
protected System.Net.Sockets.Socket Socket { get; }
member this.Socket : System.Net.Sockets.Socket
Public ReadOnly Property Socket As Socket
Protected ReadOnly Property Socket As Socket

Значение свойства

Объект Socket, который представляет основное сетевое подключение.

Примеры

В следующем примере кода извлекается базовый Socket объект для проверки активного подключения.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::Sockets;

ref class MyNetworkStream_Sub_Class: public NetworkStream
{
public:
   MyNetworkStream_Sub_Class( System::Net::Sockets::Socket^ socket, bool ownsSocket )
      : NetworkStream( socket, ownsSocket )
   {
   }

   property bool IsConnected 
   {
      // You can use the Socket method to examine the underlying Socket.
      bool get()
      {
         return this->Socket->Connected;
      }
   }

   property bool CanCommunicate 
   {
      bool get()
      {
         if ( !this->Readable | !this->Writeable )
         {
            return false;
         }
         else
         {
            return true;
         }
      }
   }
using System;
using System.Net;
using System.Net.Sockets;

public class MyNetworkStream_Sub_Class : NetworkStream
{

    public MyNetworkStream_Sub_Class(Socket socket, bool ownsSocket) :
        base(socket, ownsSocket)
    {
    }
    // You can use the Socket method to examine the underlying Socket.
    public bool IsConnected
    {
        get
        {
            return this.Socket.Connected;
        }
    }

    public bool CanCommunicate
    {
        get
        {
            if (!this.Readable | !this.Writeable)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
    }
Public Class MyNetworkStream_Sub_Class
   Inherits NetworkStream
   
   
   Public Sub New(socket As Socket, ownsSocket As Boolean)
      MyBase.New(socket, ownsSocket)
   End Sub
   
   ' Suppose you wanted a property for determining if Socket is connected. You can use
   ' the protected method 'Socket' to return underlying Socket.
   
   Public ReadOnly Property IsConnected() As Boolean
      Get
         Return Me.Socket.Connected
      End Get
   End Property
   
   ' You could also use public NetworkStream methods 'CanRead' and 'CanWrite'.
   
   Public ReadOnly Property CanCommunicate() As Boolean
      Get
         If Not Me.Readable Or Not Me.Writeable  Then
            Return False
         Else
            Return True
         End If
      End Get
   End Property
    
   Public Shared Sub DoSomethingSignificant()
   End Sub
    ' Do something significant in here

Комментарии

Классы, производные от , NetworkStream могут использовать это свойство для получения базового Socket. Используйте базовый Socket объект , возвращаемый из свойства , Socket если требуется доступ помимо того, который NetworkStream предоставляет.

Примечание

Это свойство доступно только через этот класс или производный класс.

Применяется к