ProtocolType Enumeration
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Specifies the protocols that the Socket class supports.
Assembly: System (in System.dll)
Member name | Description | |
---|---|---|
Ggp | Gateway To Gateway Protocol. | |
Icmp | Internet Control Message Protocol. | |
IcmpV6 | Internet Control Message Protocol for IPv6. | |
Idp | Internet Datagram Protocol. | |
Igmp | Internet Group Management Protocol. | |
IP | Internet Protocol. | |
IPSecAuthenticationHeader | IPv6 Authentication header. For details, see RFC 2292 section 2.2.1, available at http://www.ietf.org. | |
IPSecEncapsulatingSecurityPayload | IPv6 Encapsulating Security Payload header. | |
IPv4 | Internet Protocol version 4. | |
IPv6 | Internet Protocol version 6 (IPv6). | |
IPv6DestinationOptions | IPv6 Destination Options header. | |
IPv6FragmentHeader | IPv6 Fragment header. | |
IPv6HopByHopOptions | IPv6 Hop by Hop Options header. | |
IPv6NoNextHeader | IPv6 No next header. | |
IPv6RoutingHeader | IPv6 Routing header. | |
Ipx | Internet Packet Exchange Protocol. | |
ND | Net Disk Protocol (unofficial). | |
Pup | PARC Universal Packet Protocol. | |
Raw | Raw IP packet protocol. | |
Spx | Sequenced Packet Exchange protocol. | |
SpxII | Sequenced Packet Exchange version 2 protocol. | |
Tcp | Transmission Control Protocol. | |
Udp | User Datagram Protocol. | |
Unknown | Unknown protocol. | |
Unspecified | Unspecified protocol. |
The following example demonstrates how to use ProtocolType to instantiate a Socket.
using System; using System.Text; using System.IO; using System.Net; using System.Net.Sockets; public class Sample { public static string DoSocketGet(string server) { //Set up variables and String to write to the server. Encoding ASCII = Encoding.ASCII; string Get = "GET / HTTP/1.1\r\nHost: " + server + "\r\nConnection: Close\r\n\r\n"; Byte[] ByteGet = ASCII.GetBytes(Get); Byte[] RecvBytes = new Byte[256]; String strRetPage = null; // IPAddress and IPEndPoint represent the endpoint that will // receive the request. // Get first IPAddress in list return by DNS. try { // Define those variables to be evaluated in the next for loop and // then used to connect to the server. These variables are defined // outside the for loop to make them accessible there after. Socket s = null; IPEndPoint hostEndPoint; IPAddress hostAddress = null; int conPort = 80; // Get DNS host information. IPHostEntry hostInfo = Dns.GetHostEntry(server); // Get the DNS IP addresses associated with the host. IPAddress[] IPaddresses = hostInfo.AddressList; // Evaluate the socket and receiving host IPAddress and IPEndPoint. for (int index=0; index<IPaddresses.Length; index++) { hostAddress = IPaddresses[index]; hostEndPoint = new IPEndPoint(hostAddress, conPort); // Creates the Socket to send data over a TCP connection. s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp ); // Connect to the host using its IPEndPoint. s.Connect(hostEndPoint); if (!s.Connected) { // Connection failed, try next IPaddress. strRetPage = "Unable to connect to host"; s = null; continue; } // Sent the GET request to the host. s.Send(ByteGet, ByteGet.Length, 0); } // End of the for loop. // Receive the host home page content and loop until all the data is received. Int32 bytes = s.Receive(RecvBytes, RecvBytes.Length, 0); strRetPage = "Default HTML page on " + server + ":\r\n"; strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes); while (bytes > 0) { bytes = s.Receive(RecvBytes, RecvBytes.Length, 0); strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes); } } // End of the try block. catch(SocketException e) { Console.WriteLine("SocketException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(ArgumentNullException e) { Console.WriteLine("ArgumentNullException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(NullReferenceException e) { Console.WriteLine("NullReferenceException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(Exception e) { Console.WriteLine("Exception caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } return strRetPage; } public static void Main() { Console.WriteLine(DoSocketGet("localhost")); } }
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.1