Exception Udp Client : Udp Client « Network « C# / C Sharp






Exception Udp Client

Exception Udp Client
/*
C# Network Programming 
by Richard Blum

Publisher: Sybex 
ISBN: 0782141765
*/

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

public class ExceptionUdpClient
{
   public static void Main()
   {
      byte[] data = new byte[1024];
      string input, stringData;
      int recv;
      IPEndPoint ipep = new IPEndPoint(
                      IPAddress.Parse("127.0.0.1"), 9050);

      Socket server = new Socket(AddressFamily.InterNetwork,
                     SocketType.Dgram, ProtocolType.Udp);

      int sockopt = (int)server.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout);
      Console.WriteLine("Default timeout: {0}", sockopt);
      server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 3000);
      sockopt = (int)server.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout);
      Console.WriteLine("New timeout: {0}", sockopt);

      string welcome = "Hello, are you there?";
      data = Encoding.ASCII.GetBytes(welcome);
      server.SendTo(data, data.Length, SocketFlags.None, ipep);

      IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
      EndPoint Remote = (EndPoint)sender;

      data = new byte[1024];
      try
      {
         recv = server.ReceiveFrom(data, ref Remote);
         Console.WriteLine("Message received from {0}:", Remote.ToString());
         Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
      } catch (SocketException)
      {
         Console.WriteLine("Problem communicating with remote server");
         return;
      }

      while(true)
      {
         input = Console.ReadLine();
         if (input == "exit")
            break;
         server.SendTo(Encoding.ASCII.GetBytes(input), ipep);
         data = new byte[1024];
         try
         {
            recv = server.ReceiveFrom(data, ref Remote);
            stringData = Encoding.ASCII.GetString(data, 0, recv);
            Console.WriteLine(stringData);
         } catch (SocketException)
         {
            Console.WriteLine("Error receiving message");
         }
      }
      Console.WriteLine("Stopping client");
      server.Close();
   }
}
           
       








Related examples in the same category

1.Test Udp Client
2.Time out Udp Client
3.Simple Udp Client
4.Odd Udp Client
5.Retry Udp ClientRetry Udp Client
6.Better Udp Client
7.Best Udp ClientBest Udp Client
8.Bad Udp Client
9.Binary Udp Client
10.Udp Client Sample
11.Udp Client Multi Send
12.Udp Client Multi Receive