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






Picky Tcp Client

/*
C# Network Programming 
by Richard Blum

Publisher: Sybex 
ISBN: 0782141765
*/

using System;
using System.Net;
using System.Net.Sockets;
using System.Security;
using System.Security.Permissions;
using System.Text;

[SocketPermission(SecurityAction.Deny, Access="Connect", Host="127.0.0.1",
     Port="All", Transport="All")]
[SocketPermission(SecurityAction.Deny, Access="Connect", Host="192.168.0.2",
     Port="All", Transport="All")]
[SocketPermission(SecurityAction.Deny, Access="Connect", Host="192.168.1.100",
     Port="80", Transport="All")]


public class PickyTcpClient
{
   public static void Main()
   {
      byte[] data = new byte[1024];
      string input, stringData;
      TcpClient server = null;

      Console.Write("Enter a host to connect to: ");
      string stringHost = Console.ReadLine();
 
      try
      {
         server = new TcpClient(stringHost, 9050);
      } catch (SocketException)
      {
         Console.WriteLine("Unable to connect to server");
         return;
      } catch (SecurityException)
      {
         Console.WriteLine(
            "Sorry, you are restricted from connecting to this server");
         return;
      }
      NetworkStream ns = server.GetStream();

      int recv = ns.Read(data, 0, data.Length);
      stringData = Encoding.ASCII.GetString(data, 0, recv);
      Console.WriteLine(stringData);

      while(true)
      {
         input = Console.ReadLine();
         if (input == "exit")
            break;
         ns.Write(Encoding.ASCII.GetBytes(input), 0, input.Length);
         ns.Flush();

         data = new byte[1024];
         recv = ns.Read(data, 0, data.Length);
         stringData = Encoding.ASCII.GetString(data, 0, recv);
         Console.WriteLine(stringData);
      }
      Console.WriteLine("Disconnecting from server...");
      ns.Close();
      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.Fixed Tcp Client
7.Stream Tcp Client
8.Employee Client
9.Network Order Client
10.Tcp Client Sample
11.Async Tcp ClientAsync Tcp Client
12.Select Tcp Client