Fixed Tcp Client : TCP Client : Network C# Source Code


Custom Search

C# Source Code » Network » TCP Client »

 

Fixed Tcp 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 FixedTcpClient
{
   private static int SendData(Socket s, byte[] data)
   {
      int total = 0;
      int size = data.Length;
      int dataleft = size;
      int sent;

      while (total < size)
      {
         sent = s.Send(data, total, dataleft, SocketFlags.None);
         total += sent;
         dataleft -= sent;
      }
      return total;
   }

   private static byte[] ReceiveData(Socket s, int size)
   {
      int total = 0;
      int dataleft = size;
      byte[] data = new byte[size];
      int recv;

      while(total < size)
      {
         recv = s.Receive(data, total, dataleft, 0);
         if (recv == 0)
         {
            data = Encoding.ASCII.GetBytes("exit ");
            break;
         }
         total += recv;
         dataleft -= recv;
      }
      return data;
   }

   public static void Main()
   {
      byte[] data = new byte[1024];
      int sent;
      IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050);

      Socket server = new Socket(AddressFamily.InterNetwork,
                      SocketType.Stream, ProtocolType.Tcp);

      try
      {
         server.Connect(ipep);
      } catch (SocketException e)
      {
         Console.WriteLine("Unable to connect to server.");
         Console.WriteLine(e.ToString());
         return;
      }

      int recv = server.Receive(data);
      string stringData = Encoding.ASCII.GetString(data, 0, recv);
      Console.WriteLine(stringData);

      sent = SendData(server, Encoding.ASCII.GetBytes("message 1"));
      sent = SendData(server, Encoding.ASCII.GetBytes("message 2"));
      sent = SendData(server, Encoding.ASCII.GetBytes("message 3"));
      sent = SendData(server, Encoding.ASCII.GetBytes("message 4"));
      sent = SendData(server, Encoding.ASCII.GetBytes("message 5"));
      Console.WriteLine("Disconnecting from server...");
      server.Shutdown(SocketShutdown.Both);
      server.Close();
   }
}

           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Network
» TCP Client