NetworkStream.Write 方法

定义

重载

Write(ReadOnlySpan<Byte>)

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

Write(Byte[], Int32, Int32)

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

Write(ReadOnlySpan<Byte>)

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

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

public:
 override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))

参数

buffer
ReadOnlySpan<Byte>

要写入到 NetworkStream 的数据。

例外

访问套接字时出错。

- 或 -

写入到网络时出错。

注解

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

注意

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

注意

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

适用于

Write(Byte[], Int32, Int32)

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

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

public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int size);
public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write (byte[] buffer, int offset, int size);
public override void Write (byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (buffer As Byte(), offset As Integer, size As Integer)
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)

参数

buffer
Byte[]

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

offset
Int32

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

sizecount
Int32

要写入 NetworkStream 的字节数。

例外

buffer 参数为 null

offset 参数小于 0。

- 或 -

offset 参数大于 buffer 的长度。

- 或 -

size 参数小于 0。

- 或 -

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

访问套接字时出错。

- 或 -

写入到网络时出错。

示例

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

// Examples for CanWrite, and CanWrite  
// Check to see if this NetworkStream is writable.
if ( myNetworkStream->CanWrite )
{
   array<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." );
}
// 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.");
}
' Examples for CanWrite, and CanWrite  
' Check to see if this NetworkStream is writable.
If myNetworkStream.CanWrite Then
   
   Dim myWriteBuffer As Byte() = Encoding.ASCII.GetBytes("Are you receiving this message?")
   myNetworkStream.Write(myWriteBuffer, 0, myWriteBuffer.Length)
Else
   Console.WriteLine("Sorry.  You cannot write to this NetworkStream.")
End If

注解

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

注意

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

注意

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

另请参阅

适用于