NetworkStream.Write 方法

定义

重载

Write(ReadOnlySpan<Byte>)

将数据从只读字节范围写入 到 NetworkStream

Write(Byte[], Int32, Int32)

从字节数组的指定范围向 NetworkStream 写入数据。

Write(ReadOnlySpan<Byte>)

Source:
NetworkStream.cs
Source:
NetworkStream.cs
Source:
NetworkStream.cs

将数据从只读字节范围写入 到 NetworkStream

C#
public override void Write (ReadOnlySpan<byte> buffer);

参数

buffer
ReadOnlySpan<Byte>

要写入到 NetworkStream 的数据。

例外

访问套接字时出错。

- 或 -

写入到网络时出错。

注解

此方法将 中的所有 buffer 字节发送到网络。 方法 Write 会阻止,直到发送请求的字节数或 SocketException 引发 。

备注

通过调用 CanWrite 属性检查 是否NetworkStream可写。 如果尝试写入 NetworkStream 不可写的 ,将获得 InvalidOperationException

备注

如果收到 ,IOException检查 InnerException 属性,以确定它是否由 SocketException引起。 如果是这样,请使用 ErrorCode 属性获取特定的错误代码,并参阅 Windows 套接字版本 2 API 错误代码文档,了解错误的详细说明。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Write(Byte[], Int32, Int32)

Source:
NetworkStream.cs
Source:
NetworkStream.cs
Source:
NetworkStream.cs

从字节数组的指定范围向 NetworkStream 写入数据。

C#
public override void Write (byte[] buffer, int offset, int size);
C#
public override void Write (byte[] buffer, int offset, int count);

参数

buffer
Byte[]

一个 Byte 类型的数组,该数组包含要写入 NetworkStream 的数据。

offset
Int32

buffer 中开始写入数据的位置。

sizecount
Int32

要写入 NetworkStream 的字节数。

例外

buffer 参数为 null

offset 参数小于 0。

- 或 -

offset 参数大于 buffer 的长度。

- 或 -

size 参数小于 0。

- 或 -

size 参数大于 buffer 的长度减去 offset 参数的值。

访问套接字时出错。

- 或 -

写入到网络时出错。

示例

下面的代码示例检查 以查看 是否 NetworkStream 可写。 如果是,则 Write 用于编写小消息。

C#
// Examples for CanWrite, and CanWrite
// Check to see if this NetworkStream is writable.
if (myNetworkStream.CanWrite)
{
    byte[] myWriteBuffer = Encoding.ASCII.GetBytes("Are you receiving this message?");
    myNetworkStream.Write(myWriteBuffer, 0, myWriteBuffer.Length);
}
else
{
    Console.WriteLine("Sorry.  You cannot write to this NetworkStream.");
}

注解

此方法从指定的 offset 开始,并将字节从 的内容buffer发送到size网络。 方法 Write 会阻止,直到发送请求的字节数或 SocketException 引发 。

备注

通过调用 CanWrite 属性检查 是否NetworkStream可写。 如果尝试写入 NetworkStream 不可写的 ,将获得 InvalidOperationException

备注

如果收到 ,IOException检查 InnerException 属性,以确定它是否由 SocketException引起。 如果是这样,请使用 ErrorCode 属性获取特定的错误代码,并参阅 Windows 套接字版本 2 API 错误代码文档,了解错误的详细说明。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1