NetworkStream.Write Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| Write(ReadOnlySpan<Byte>) |
Grava dados em NetworkStream um intervalo de bytes somente leitura. |
| Write(Byte[], Int32, Int32) |
Grava dados em NetworkStream um intervalo especificado de uma matriz de bytes. |
Write(ReadOnlySpan<Byte>)
Grava dados em NetworkStream um intervalo de bytes somente leitura.
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))
Parâmetros
- buffer
- ReadOnlySpan<Byte>
Os dados a serem gravados no NetworkStream.
Exceções
O NetworkStream não dá suporte à gravação.
O NetworkStream está fechado.
Comentários
Esse método envia todos os bytes buffer para a rede. O Write método bloqueia até que o número solicitado de bytes seja enviado ou um SocketException seja gerado.
Note
Verifique se o NetworkStream valor é gravável chamando a CanWrite propriedade. Se você tentar escrever para um NetworkStream que não é gravável, você receberá um InvalidOperationException.
Note
Se você receber um IOException, verifique a InnerException propriedade para determinar se ela foi causada por um SocketException. Nesse caso, use a propriedade ErrorCode para obter o código de erro específico e consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.
Aplica-se a
Write(Byte[], Int32, Int32)
Grava dados em NetworkStream um intervalo especificado de uma matriz de bytes.
public:
override void Write(cli::array <System::Byte> ^ buffer, int offset, int size);
public override void Write(byte[] buffer, int offset, int size);
override this.Write : byte[] * int * int -> unit
abstract member 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)
Parâmetros
- buffer
- Byte[]
Uma matriz de tipo Byte que contém os dados a serem gravados no NetworkStream.
- offset
- Int32
O local no buffer qual começar a gravar dados.
- size
- Int32
O número de bytes a serem gravados no NetworkStream.
Exceções
O buffer parâmetro é null.
O offset parâmetro é menor que 0.
-ou-
O offset parâmetro é maior que o comprimento de buffer.
-ou-
O size parâmetro é menor que 0.
-ou-
O size parâmetro é maior que o comprimento de buffer menos o valor do offset parâmetro.
O NetworkStream não dá suporte à gravação.
O NetworkStream está fechado.
Exemplos
O exemplo de código a seguir verifica se o NetworkStream valor é gravável. Se estiver, então Write será usado para escrever uma mensagem pequena.
// 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
Comentários
Esse método começa no especificado offset e envia count bytes do conteúdo da buffer rede. O Write método bloqueia até que o número solicitado de bytes seja enviado ou um SocketException seja gerado.
Note
Verifique se o NetworkStream valor é gravável chamando a CanWrite propriedade. Se você tentar escrever para um NetworkStream que não é gravável, você receberá um InvalidOperationException.
Note
Se você receber um IOException, verifique a InnerException propriedade para determinar se ela foi causada por um SocketException. Nesse caso, use a propriedade ErrorCode para obter o código de erro específico e consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.