NetworkStream.Socket 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得基礎 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。
注意
此屬性只能透過這個類別或衍生類別來存取。