NetworkStream.Write 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
Write(ReadOnlySpan<Byte>) |
NetworkStream將資料從唯讀位元組範圍寫入 。 |
Write(Byte[], Int32, Int32) |
將資料從指定的位元組陣列範圍寫入至 NetworkStream。 |
Write(ReadOnlySpan<Byte>)
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 Sockets 第 2 版 API 錯誤碼檔,以取得錯誤的詳細描述。
適用於
Write(Byte[], Int32, Int32)
將資料從指定的位元組陣列範圍寫入至 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 Sockets 第 2 版 API 錯誤碼檔,以取得錯誤的詳細描述。