SocketType Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie le type de socket qu’une instance de la classe Socket représente.
public enum class SocketType
public enum SocketType
type SocketType =
Public Enum SocketType
- Héritage
Champs
| Nom | Valeur | Description |
|---|---|---|
| Unknown | -1 | Spécifie un type inconnu Socket . |
| Stream | 1 | Prend en charge des flux d’octets basés sur des connexions fiables et bidirectionnelles sans duplication de données et sans conservation des limites. Un Socket de ce type communique avec un seul homologue et nécessite une connexion hôte distante avant de commencer la communication.
Streamutilise le protocole de contrôle de transmission ( |
| Dgram | 2 | Prend en charge les datagrammes, qui sont des messages de connexion sans fiabilité d’une longueur maximale fixe (généralement petite). Les messages peuvent être perdus ou dupliqués et peuvent arriver hors de commande. Un Socket type Dgram ne nécessite aucune connexion avant l’envoi et la réception de données, et peut communiquer avec plusieurs homologues.
Dgramutilise le protocole Datagram ( |
| Raw | 3 | Prend en charge l’accès au protocole de transport sous-jacent. À l’aide Rawde , vous pouvez communiquer à l’aide de protocoles tels que Internet Control Message Protocol ( |
| Rdm | 4 | Prend en charge les messages sans connexion, orientés messages, remis de manière fiable et conserve les limites des messages dans les données. Les messages Rdm (messages remis de manière fiable) arrivent sans suppression et dans l’ordre. En outre, l’expéditeur est averti si les messages sont perdus. Si vous initialisez une Socket utilisation Rdm, vous n’avez pas besoin d’une connexion hôte distante avant d’envoyer et de recevoir des données. Avec Rdm, vous pouvez communiquer avec plusieurs homologues. |
| Seqpacket | 5 | Fournit un transfert bidirectionnel orienté connexion et fiable de flux d’octets ordonnés sur un réseau. Seqpacket ne doublons pas de données et conserve les limites au sein du flux de données. Un Socket type communique Seqpacket avec un seul homologue et nécessite une connexion hôte distante avant de commencer la communication. |
Exemples
L’exemple suivant utilise SocketType.Stream comme paramètre pour le Socket constructeur.
//Creates the Socket for sending data over TCP.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
ProtocolType.Tcp );
// Connects to host using IPEndPoint.
s.Connect(EPhost);
if (!s.Connected)
{
strRetPage = "Unable to connect to host";
}
// Use the SelectWrite enumeration to obtain Socket status.
if(s.Poll(-1, SelectMode.SelectWrite)){
Console.WriteLine("This Socket is writable.");
}
else if (s.Poll(-1, SelectMode.SelectRead)){
Console.WriteLine("This Socket is readable." );
}
else if (s.Poll(-1, SelectMode.SelectError)){
Console.WriteLine("This Socket has an error.");
}
'Creates the Socket for sending data over TCP.
Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
' Connects to host using IPEndPoint.
s.Connect(EPhost)
If Not s.Connected Then
strRetPage = "Unable to connect to host"
End If
' Use the SelectWrite enumeration to obtain Socket status.
If s.Poll(- 1, SelectMode.SelectWrite) Then
Console.WriteLine("This Socket is writable.")
Else
If s.Poll(- 1, SelectMode.SelectRead) Then
Console.WriteLine(("This Socket is readable. "))
Else
If s.Poll(- 1, SelectMode.SelectError) Then
Console.WriteLine("This Socket has an error.")
End If
End If
End If
Remarques
Avant de Socket pouvoir envoyer et recevoir des données, il doit d’abord être créé à l’aide d’un AddressFamily, d’un , d’un SocketTypeet d’un ProtocolType. L’énumération SocketType fournit plusieurs options pour définir le type de Socket celui que vous envisagez d’ouvrir.
Note
SocketType indique parfois implicitement qui ProtocolType est utilisé dans un AddressFamily. Par exemple, lorsque l’objet System.Net.Sockets.SocketType est SocketType.Dgram, il System.Net.Sockets.ProtocolType est toujours ProtocolType.Udp. Quand l’est System.Net.Sockets.SocketTypeSocketType.Stream, le System.Net.Sockets.ProtocolType est toujours ProtocolType.Tcp. Si vous essayez de créer une Socket combinaison avec une combinaison incompatible, Socket lève un SocketException.