Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Socket.Send Método (IList<ArraySegment<Byte>>, SocketFlags)

Sends the set of buffers in the list to a connected Socket, using the specified SocketFlags.

Namespace:  System.Net.Sockets
Assembly:  System (em System. dll)

public int Send(
	IList<ArraySegment<byte>> buffers,
	SocketFlags socketFlags
)

Parâmetros

buffers
Tipo: System.Collections.Generic.IList<ArraySegment<Byte>>
A list of ArraySegment<T>s of type Byte that contains the data to be sent.
socketFlags
Tipo: System.Net.Sockets.SocketFlags
A bitwise combination of the SocketFlags values.

Valor de retorno

Tipo: System.Int32
The number of bytes sent to the Socket.

ExceçãoCondição
ArgumentNullException

buffers is null.

ArgumentException

buffers is empty.

SocketException

Erro ao tentar acessar o soquete.Consulte a seção " Comentários " para obter mais informações.

ObjectDisposedException

The Socket has been closed.

Essa sobrecarga requer pelo menos um buffer que contém os dados que deseja enviar.The SocketFlags value defaults to 0.If you specify the DontRoute flag as the socketFlags parameter, the data you are sending will not be routed.

If you are using a connectionless protocol, you must call Connect before calling this method, or Send will throw a SocketException.If you are using a connection-oriented protocol, you must either use Connect to establish a remote host connection, or use Accept to accept an incoming connection.

If you are using a connectionless protocol and plan to send data to several different hosts, you should use the SendTo method.If you do not use the SendTo method, you will have to call Connect before each call to Send.You can use SendTo even after you have established a default remote host with Connect.You can also change the default remote host prior to calling Send by making another call to Connect.

If you are using a connection-oriented protocol, Send will block until all of the bytes in the buffer are sent, unless a time-out was set by using Socket.SendTimeout.If the time-out value was exceeded, the Send call will throw a SocketException.In non-blocking mode, Send may complete successfully even if it sends less than the number of bytes in the buffer.É responsabilidade do aplicativo para controlar o número de bytes enviados de e para repetir a operação até que o aplicativo envia os bytes no buffer.Há também há garantia de que você enviar os dados serão exibidos na rede imediatamente.Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída é coletada.A successful completion of the Send method means that the underlying system has had room to buffer your data for a network send.

ObservaçãoObservação:

If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code.Depois de obter esse código, consulte para a versão Windows   Sockets 2 documentação sobre códigos de erro API na Biblioteca MSDN para uma descrição detalhada sobre o erro.

ObservaçãoObservação:

A conclusão bem-sucedida de um envio não indica que os dados foi entregue com êxito.Se nenhum espaço do buffer estiver disponível no sistema de transporte para manter os dados para serem transmitidos, enviar bloqueará a menos que o soquete foi colocado no modo nonblocking.

ObservaçãoObservação:

Este membro envia informações de rastreamento quando você ativa o rastreamento de rede em seu aplicativo.For more information, see Rastreamento de rede.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft