| 
   Элемент перечисления ProtocolType  | 
  
   Протокол  | 
 
| 
   Ggp  | 
  
   Gateway To Gateway  | 
 
| 
   Icmp  | 
  
   Internet Control Message  | 
 
| 
   IcmpV6  | 
  
   Internet Control Message version 6  | 
 
| 
   Idp  | 
  
   Internet Datagram  | 
 
| 
   Igmp  | 
  
   Internet Group Management  | 
 
| 
   IP  | 
  
   Internet Protocol  | 
 
| 
   IPSecAuthenticationHeader  | 
  
   IPv6 Authentication header. Детали в RFC 2292 section 2.2.1  | 
 
| 
   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  | 
 
| 
   Raw  | 
  
   Raw IP packet  | 
 
| 
   Spx  | 
  
   Sequenced Packet Exchange  | 
 
| 
   SpxII  | 
  
   Sequenced Packet Exchange version 2  | 
 
| 
   Tcp  | 
  
   Transmission Control Protocol  | 
 
| 
   Udp  | 
  
   User Datagram Protocol  | 
 
| 
   Unknown  | 
  
   Неизвестный протокол  | 
 
| 
   Unspecified  | 
  
   Незарегистрированный протокол  | 
 
Рассмотрим пример, иллюстрирующий работу с объектом класса Socket. В нем мы создаем сетевой разъем, соединяем его с локальным компьютером и выводим основные свойства трех объектов: конечного узла соединения, самого разъема (Socket) и вспомогательного объекта класса SocketAddress, который часто используется в сетевых приложениях для опроса текущего состояния разъема.
public static void Main()
{
try
{
IPHostEntry host = Dns.GetHostEntry (Dns.GetHostName());//"localhost"
foreach (IPAddress address in host.AddressList)
{
IPEndPoint point = new IPEndPoint (address, 80);
Socket socket=new Socket(point.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(point);
if (socket.Connected)
{
Console.WriteLine("\n End Point Info\n" +
"\n{0,-20}: {1}\n{2,-20}: {3}\n{4,-20}: {5}\n{6,-20}: {7}\n",
"End Point", point.ToString(),
"Address", point.Address,
"AddressFamily", point.AddressFamily,
"Port", point.Port);
Console.WriteLine("\n Socket Info\n" +
"\n{0,-20}: {1}\n{2,-20}: {3}\n{4,-20}: {5}\n{6,-20}: {7}" +
"\n{8,-20}: {9}\n{10,-20}: {11}\n{12,-20}: {13}\n{14,-20}: {15}" +
"\n{16,-20}: {17}\n{18,-20}: {19}\n",
"SocketType", socket.SocketType,
"Protocol Type", socket.ProtocolType,
"Local EndPoint", socket.LocalEndPoint,
"Remote EndPoint", socket.RemoteEndPoint,
"Socket Handle", socket.Handle,
"Is in Blocking Mode", socket.Blocking,
"Send Timeout", socket.SendTimeout,
"Receive Timeout", socket.ReceiveTimeout,
"Send BufferSize", socket.SendBufferSize,
"Receive BufferSize", socket.ReceiveBufferSize);
SocketAddress socketAddress = point.Serialize();
Console.WriteLine("\n Serialized endpoint\n" +
"\n{0,-20}: {1}\n{2,-20}: {3}\n{4,-20}: {5}\n",
"String", socketAddress.ToString(),
"First byte", socketAddress[0],
"Family", socketAddress.Family,
"Size", socketAddress.Size);
Console.WriteLine("\n SocketAddress Bytes\n");
for (int i = 0; i < socketAddress.Size; i++)
Console.Write("{0}, ", socketAddress[i]);
}
socket.Close();
}
}
catch (SocketException e)
{
Console.WriteLine("Source: {0}\nMessage: {1}", e.Source, e.Message);
}
Console.WriteLine("\n\n");
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.