SocketFlags Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u het gedrag voor verzenden en ontvangen van sockets op.
Deze opsomming ondersteunt een bitsgewijze combinatie van de waarden van de leden.
public enum class SocketFlags
[System.Flags]
public enum SocketFlags
[<System.Flags>]
type SocketFlags =
Public Enum SocketFlags
- Overname
- Kenmerken
Velden
| Name | Waarde | Description |
|---|---|---|
| None | 0 | Gebruik geen vlaggen voor deze aanroep. |
| OutOfBand | 1 | Out-of-band-gegevens verwerken. |
| Peek | 2 | Bekijk het binnenkomende bericht. |
| DontRoute | 4 | Verzenden zonder routeringstabellen te gebruiken. |
| MaxIOVectorLength | 16 | Biedt een standaardwaarde voor het aantal WSABUF-structuren dat wordt gebruikt voor het verzenden en ontvangen van gegevens. Deze waarde wordt niet gebruikt of ondersteund in .NET Framework 4.5. |
| Truncated | 256 | Het bericht was te groot om in de opgegeven buffer te passen en is afgekapt. |
| ControlDataTruncated | 512 | Geeft aan dat de controlegegevens niet in een interne buffer van 64 kB passen en zijn afgekapt. |
| Broadcast | 1024 | Geeft een broadcastpakket aan. |
| Multicast | 2048 | Geeft een multicastpakket aan. |
| Partial | 32768 | Gedeeltelijk verzenden of ontvangen voor bericht. |
Voorbeelden
In het volgende voorbeeld worden gegevens verzonden en opgegeven SocketFlags.None.
// Displays sending with a connected socket
// using the overload that takes a buffer, message size, and socket flags.
public static int SendReceiveTest3(Socket server)
{
byte[] msg = Encoding.UTF8.GetBytes("This is a test");
byte[] bytes = new byte[256];
try
{
// Blocks until send returns.
int i = server.Send(msg, msg.Length, SocketFlags.None);
Console.WriteLine("Sent {0} bytes.", i);
// Get reply from the server.
int byteCount = server.Receive(bytes, bytes.Length, SocketFlags.None);
if (byteCount > 0)
Console.WriteLine(Encoding.UTF8.GetString(bytes, 0, byteCount));
}
catch (SocketException e)
{
Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
return (e.ErrorCode);
}
return 0;
}
' Displays sending with a connected socket
' using the overload that takes a buffer, message size, and socket flags.
Public Shared Function SendReceiveTest3(ByVal server As Socket) As Integer
Dim msg As Byte() = Encoding.UTF8.GetBytes("This is a test")
Dim bytes(255) As Byte
Try
' Blocks until send returns.
Dim i As Integer = server.Send(msg, msg.Length, SocketFlags.None)
Console.WriteLine("Sent {0} bytes.", i)
' Get reply from the server.
Dim byteCount As Integer = server.Receive(bytes, server.Available, SocketFlags.None)
If byteCount > 0 Then
Console.WriteLine(Encoding.UTF8.GetString(bytes))
End If
Catch e As SocketException
Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
Return e.ErrorCode
End Try
Return 0
End Function 'SendReceiveTest3