确定是否有挂起的连接请求。
命名空间:System.Net.Sockets
程序集:System(在 system.dll 中)
Public Function Pending As Boolean
Dim instance As TcpListener
Dim returnValue As Boolean
returnValue = instance.Pending
public boolean Pending ()
public function Pending () : boolean
返回值
如果连接正挂起,则为 true;否则为 false。
这一非阻止方法将确定是否存在挂起的连接请求。由于 AcceptSocket 和 AcceptTcpClient 方法在 Start 方法将一个传入连接请求排入队列之前一直阻止执行,因此可以使用 Pending 方法确定尝试接受连接之前是否有可用的连接。
下面的代码示例检查 Pending 方法。如果某个连接请求正等待被接受,则调用 AcceptTcpClient 方法。
Try
Dim ipAddress As IPAddress = Dns.Resolve("localhost").AddressList(0)
Dim tcpListener As New TcpListener(ipAddress, portNumber)
tcpListener.Start()
' Use the Pending method to poll the underlying socket instance for client connection requests.
If Not tcpListener.Pending() Then
Console.WriteLine("Sorry, no connection requests have arrived")
Else
'Accept the pending client connection and return a TcpClient object initialized for communication.
Dim tcpClient As TcpClient = tcpListener.AcceptTcpClient()
' Using the RemoteEndPoint property.
Console.Write("I am listening for connections on ")
Console.Writeline(IPAddress.Parse(CType(tcpListener.LocalEndpoint, IPEndPoint).Address.ToString()))
Console.Write("on port number ")
Console.Write(CType(tcpListener.LocalEndpoint, IPEndPoint).Port.ToString())
try{
// Use the Pending method to poll the underlying socket instance for client connection requests.
IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
TcpListener tcpListener = new TcpListener(ipAddress, portNumber);
tcpListener.Start();
if (!tcpListener.Pending()) {
Console.WriteLine("Sorry, no connection requests have arrived");
}
else{
//Accept the pending client connection and return a TcpClient object initialized for communication.
TcpClient tcpClient = tcpListener.AcceptTcpClient();
// Using the RemoteEndPoint property.
Console.WriteLine("I am listening for connections on " +
IPAddress.Parse(((IPEndPoint)tcpListener.LocalEndpoint).Address.ToString()) +
"on port number " + ((IPEndPoint)tcpListener.LocalEndpoint).Port.ToString());
try
{
// Use the Pending method to poll the underlying socket instance for client connection requests.
TcpListener^ tcpListener = gcnew TcpListener( portNumber );
tcpListener->Start();
if ( !tcpListener->Pending() )
{
Console::WriteLine( "Sorry, no connection requests have arrived" );
}
else
{
//Accept the pending client connection and return a TcpClient object^ initialized for communication.
TcpClient^ tcpClient = tcpListener->AcceptTcpClient();
// Using the RemoteEndPoint property.
Console::WriteLine( "I am listening for connections on {0} on port number {1}",
IPAddress::Parse( ( (IPEndPoint^)(tcpListener->LocalEndpoint) )->Address->ToString() ),
( (IPEndPoint^)(tcpListener->LocalEndpoint) )->Port );
try {
// Use the Pending method to poll the underlying socket instance
// for client connection requests.
IPAddress ipAddress = Dns.Resolve("localhost").get_AddressList()[0];
TcpListener tcpListener = new TcpListener(ipAddress, portNumber);
tcpListener.Start();
if (!(tcpListener.Pending())) {
Console.WriteLine("Sorry, no connection requests have arrived");
}
else {
//Accept the pending client connection and return a TcpClient
//object initialized for communication.
TcpClient tcpClient = tcpListener.AcceptTcpClient();
// Using the RemoteEndPoint property.
Console.WriteLine("I am listening for connections on "
+ IPAddress.Parse(((IPEndPoint)
(tcpListener.get_LocalEndpoint())).get_Address().ToString())
+ "on port number " + ((Int32)((IPEndPoint)
(tcpListener.get_LocalEndpoint())).get_Port()).ToString());
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0