获取已经从网络接收且可供读取的数据量。
命名空间: System.Net.Sockets
程序集: System(System.dll 中)
从网络接收的、可供读取的数据的字节数。
异常
| Exception | Condition |
|---|---|
| SocketException |
有关更多信息,请参见备注部分。 |
| ObjectDisposedException |
Socket 已关闭。 |
备注
Available 返回 0。
获取此代码后,您可以参考 MSDN Library 中的 Windows Sockets 第 2 版 API 错误代码文档,获取有关该错误的详细说明。
| 注意 |
|---|
|
.NET Framework 中的网络跟踪。 |
示例
下面的代码示例比较用 FIONREAD 和 Available 属性调用 IOControl 的结果。
1 // FIONREAD is also available as the "Available" property. 2 public const int FIONREAD = 0x4004667F; 3 4 static void DisplayPendingByteCount(Socket s) 5 { 6 byte[] outValue = BitConverter.GetBytes(0); 7 8 // Check how many bytes have been received. 9 s.IOControl(FIONREAD, null, outValue); 10 11 uint bytesAvailable = BitConverter.ToUInt32(outValue, 0); 12 Console.WriteLine("server has {0} bytes pending. Available property says {1}.", 13 bytesAvailable, s.Available); 14 15 return; 16 }
Socket.Receive 方法 (Byte[], Int32, SocketFlags)
Socket 接收指定字节数的数据,并将数据存入接收缓冲区。
语法
public int Receive( byte[] buffer, int size, SocketFlags socketFlags )
参数
- buffer
-
Byte 类型的数组,它是存储接收到的数据的位置。
- size
-
要接收的字节数。
- socketFlags
-
SocketFlags 值的按位组合。
| Exception | Condition |
|---|---|
| ArgumentNullException |
buffer 为 null。 |
| ArgumentOutOfRangeException |
size 超出了 buffer 的大小。 |
| SocketException |
有关更多信息,请参见备注部分。 |
| ObjectDisposedException |
Socket 已关闭。 |
| SecurityException |
调用堆栈中的调用方没有所需的权限。 |
Receive。
SocketFlags。
ReceiveFrom 将允许您收到从任何主机传入的数据。
Available 为非零,请重试接收操作。
Receive 方法将立即完成并返回零字节。
SocketException。
|
|
|---|
|
获取此代码后,您可以参考 MSDN Library 中的 Windows Sockets 第 2 版 API 错误代码文档,获取有关该错误的详细说明。 |
|
|
|---|
|
.NET Framework 中的网络跟踪。 |
None。
// Receive the host home page content and loop until all the data is received.
Int32 bytes = s.Receive(RecvBytes, RecvBytes.Length, 0);
strRetPage = "Default HTML page on " + server + ":\r\n";
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);
while (bytes > 0)
{
bytes = s.Receive(RecvBytes, RecvBytes.Length, 0);
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);
}
SocketPermission
Accept。