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 錯誤碼檔,以取得錯誤的詳細描述。
另請參閱
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應