Fixed Tcp Client : TCP Client « Network « C# / C Sharp






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();
   }
}

           
       








Related examples in the same category

1.Uses a TcpClient to handle HTTP
2.Network Stream Tcp Client
3.Simple Tcp Client
4.Var Tcp Client
5.Bad Tcp Client
6.Stream Tcp Client
7.Employee Client
8.Network Order Client
9.Tcp Client Sample
10.Async Tcp ClientAsync Tcp Client
11.Select Tcp Client
12.Picky Tcp Client