SocketFlags Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt das Verhalten beim Senden und Empfangen von Sockets an.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
public enum class SocketFlags
[System.Flags]
public enum SocketFlags
[<System.Flags>]
type SocketFlags =
Public Enum SocketFlags
- Vererbung
- Attribute
Felder
Broadcast | 1024 | Gibt ein Broadcastpaket an. |
ControlDataTruncated | 512 | Gibt an, dass die Steuerelementdaten nicht in einen internen 64-KB-Puffer passten und abgeschnitten wurden. |
DontRoute | 4 | Ohne Verwendung von Routingtabellen senden. |
MaxIOVectorLength | 16 | Gibt einen Standardwert für die Anzahl von WSABUF-Strukturen an, die zum Senden und Empfangen von Daten verwendet werden. Dieser Wert wird unter .NET Framework 4.5 nicht verwendet oder unterstützt. |
Multicast | 2048 | Gibt ein Multicastpaket an. |
None | 0 | Für diesen Aufruf keine Flags verwenden. |
OutOfBand | 1 | Out-of-Band-Daten verarbeiten. |
Partial | 32768 | Partielles Senden oder Empfangen für Nachricht. |
Peek | 2 | Die eingehende Nachricht einsehen. |
Truncated | 256 | Die Nachricht war zu groß für den angegebenen Puffer und wurde abgeschnitten. |
Beispiele
Im folgenden Beispiel werden Daten gesendet und angegeben SocketFlags.None
.
// Displays sending with a connected socket
// using the overload that takes a buffer, message size, and socket flags.
int SendReceiveTest3( Socket^ server )
{
array<Byte>^ msg = Encoding::UTF8->GetBytes( "This is a test" );
array<Byte>^ bytes = gcnew array<Byte>(256);
try
{
// Blocks until send returns.
int i = server->Send( msg, msg->Length, SocketFlags::None );
Console::WriteLine( "Sent {0} bytes.", i.ToString() );
// Get reply from the server.
int byteCount = server->Receive( bytes, server->Available,
SocketFlags::None );
if ( byteCount > 0 )
{
Console::WriteLine( Encoding::UTF8->GetString( bytes ) );
}
}
catch ( SocketException^ e )
{
Console::WriteLine( "{0} Error code: {1}.", e->Message, e->ErrorCode.ToString() );
return (e->ErrorCode);
}
return 0;
}
// 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