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。 如果需要超出NetworkStream所提供的访问权限,请使用从 Socket 属性返回的基础Socket。
注意
只能通过此类或派生类访问此属性。