<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FNetwork%2FTCP_Client</id>
		<title>Csharp/C Sharp/Network/TCP Client - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FNetwork%2FTCP_Client"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/TCP_Client&amp;action=history"/>
		<updated>2026-04-29T16:42:30Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/TCP_Client&amp;diff=1493&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/TCP_Client&amp;diff=1493&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/TCP_Client&amp;diff=1494&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/TCP_Client&amp;diff=1494&amp;oldid=prev"/>
				<updated>2010-05-26T11:47:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Async Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
&lt;br /&gt;
public class AsyncTcpClient : Form&lt;br /&gt;
{&lt;br /&gt;
   private TextBox newText;&lt;br /&gt;
   private TextBox conStatus;&lt;br /&gt;
   private ListBox results;&lt;br /&gt;
   private Socket client;&lt;br /&gt;
   private byte[] data = new byte[1024];&lt;br /&gt;
   private int size = 1024;&lt;br /&gt;
   public AsyncTcpClient()&lt;br /&gt;
   {&lt;br /&gt;
      Text = &amp;quot;Asynchronous TCP Client&amp;quot;;&lt;br /&gt;
      Size = new Size(400, 380);&lt;br /&gt;
      &lt;br /&gt;
      Label label1 = new Label();&lt;br /&gt;
      label1.Parent = this;&lt;br /&gt;
      label1.Text = &amp;quot;Enter text string:&amp;quot;;&lt;br /&gt;
      label1.AutoSize = true;&lt;br /&gt;
      label1.Location = new Point(10, 30);&lt;br /&gt;
      newText = new TextBox();&lt;br /&gt;
      newText.Parent = this;&lt;br /&gt;
      newText.Size = new Size(200, 2 * Font.Height);&lt;br /&gt;
      newText.Location = new Point(10, 55);&lt;br /&gt;
      results = new ListBox();&lt;br /&gt;
      results.Parent = this;&lt;br /&gt;
      results.Location = new Point(10, 85);&lt;br /&gt;
      results.Size = new Size(360, 18 * Font.Height);&lt;br /&gt;
      Label label2 = new Label();&lt;br /&gt;
      label2.Parent = this;&lt;br /&gt;
      label2.Text = &amp;quot;Connection Status:&amp;quot;;&lt;br /&gt;
      label2.AutoSize = true;&lt;br /&gt;
      label2.Location = new Point(10, 330);&lt;br /&gt;
      conStatus = new TextBox();&lt;br /&gt;
      conStatus.Parent = this;&lt;br /&gt;
      conStatus.Text = &amp;quot;Disconnected&amp;quot;;&lt;br /&gt;
      conStatus.Size = new Size(200, 2 * Font.Height);&lt;br /&gt;
      conStatus.Location = new Point(110, 325);&lt;br /&gt;
      Button sendit = new Button();&lt;br /&gt;
      sendit.Parent = this;&lt;br /&gt;
      sendit.Text = &amp;quot;Send&amp;quot;;&lt;br /&gt;
      sendit.Location = new Point(220,52);&lt;br /&gt;
      sendit.Size = new Size(5 * Font.Height, 2 * Font.Height);&lt;br /&gt;
      sendit.Click += new EventHandler(ButtonSendOnClick);&lt;br /&gt;
      Button connect = new Button();&lt;br /&gt;
      connect.Parent = this;&lt;br /&gt;
      connect.Text = &amp;quot;Connect&amp;quot;;&lt;br /&gt;
      connect.Location = new Point(295, 20);&lt;br /&gt;
      connect.Size = new Size(6 * Font.Height, 2 * Font.Height);&lt;br /&gt;
      connect.Click += new EventHandler(ButtonConnectOnClick);&lt;br /&gt;
      Button discon = new Button();&lt;br /&gt;
      discon.Parent = this;&lt;br /&gt;
      discon.Text = &amp;quot;Disconnect&amp;quot;;&lt;br /&gt;
      discon.Location = new Point(295,52);&lt;br /&gt;
      discon.Size = new Size(6 * Font.Height, 2 * Font.Height);&lt;br /&gt;
      discon.Click += new EventHandler(ButtonDisconOnClick);&lt;br /&gt;
   }&lt;br /&gt;
   void ButtonConnectOnClick(object obj, EventArgs ea)&lt;br /&gt;
   {&lt;br /&gt;
      conStatus.Text = &amp;quot;Connecting...&amp;quot;;&lt;br /&gt;
      Socket newsock = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                            SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      IPEndPoint iep = new IPEndPoint(IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      newsock.BeginConnect(iep, new AsyncCallback(Connected), newsock);&lt;br /&gt;
   }&lt;br /&gt;
   void ButtonSendOnClick(object obj, EventArgs ea)&lt;br /&gt;
   {&lt;br /&gt;
      byte[] message = Encoding.ASCII.GetBytes(newText.Text);&lt;br /&gt;
      newText.Clear();&lt;br /&gt;
      client.BeginSend(message, 0, message.Length, SocketFlags.None,&lt;br /&gt;
                   new AsyncCallback(SendData), client);&lt;br /&gt;
   }&lt;br /&gt;
   void ButtonDisconOnClick(object obj, EventArgs ea)&lt;br /&gt;
   {&lt;br /&gt;
      client.Close();&lt;br /&gt;
      conStatus.Text = &amp;quot;Disconnected&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   void Connected(IAsyncResult iar)&lt;br /&gt;
   {&lt;br /&gt;
      client = (Socket)iar.AsyncState;&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         client.EndConnect(iar);&lt;br /&gt;
         conStatus.Text = &amp;quot;Connected to: &amp;quot; + client.RemoteEndPoint.ToString();&lt;br /&gt;
         client.BeginReceive(data, 0, size, SocketFlags.None,&lt;br /&gt;
                       new AsyncCallback(ReceiveData), client);&lt;br /&gt;
      } catch (SocketException)&lt;br /&gt;
      {&lt;br /&gt;
         conStatus.Text = &amp;quot;Error connecting&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   void ReceiveData(IAsyncResult iar)&lt;br /&gt;
   {&lt;br /&gt;
      Socket remote = (Socket)iar.AsyncState;&lt;br /&gt;
      int recv = remote.EndReceive(iar);&lt;br /&gt;
      string stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      results.Items.Add(stringData);&lt;br /&gt;
   }&lt;br /&gt;
   void SendData(IAsyncResult iar)&lt;br /&gt;
   {&lt;br /&gt;
      Socket remote = (Socket)iar.AsyncState;&lt;br /&gt;
      int sent = remote.EndSend(iar);&lt;br /&gt;
      remote.BeginReceive(data, 0, size, SocketFlags.None,&lt;br /&gt;
                    new AsyncCallback(ReceiveData), remote);&lt;br /&gt;
   }&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      Application.Run(new AsyncTcpClient());&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bad Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class BadTcpClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      string stringData;&lt;br /&gt;
      IPEndPoint ipep = new IPEndPoint(&lt;br /&gt;
                      IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      Socket server = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                     SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server.Connect(ipep);&lt;br /&gt;
      } catch (SocketException e)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server.&amp;quot;);&lt;br /&gt;
         Console.WriteLine(e.ToString());&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      int recv = server.Receive(data);&lt;br /&gt;
      stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      Console.WriteLine(stringData);&lt;br /&gt;
      server.Send(Encoding.ASCII.GetBytes(&amp;quot;message 1&amp;quot;));&lt;br /&gt;
      server.Send(Encoding.ASCII.GetBytes(&amp;quot;message 2&amp;quot;));&lt;br /&gt;
      server.Send(Encoding.ASCII.GetBytes(&amp;quot;message 3&amp;quot;));&lt;br /&gt;
      server.Send(Encoding.ASCII.GetBytes(&amp;quot;message 4&amp;quot;));&lt;br /&gt;
      server.Send(Encoding.ASCII.GetBytes(&amp;quot;message 5&amp;quot;));&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      server.Shutdown(SocketShutdown.Both);&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Employee Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
&lt;br /&gt;
public class EmployeeClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      Employee emp1 = new Employee();&lt;br /&gt;
      Employee emp2 = new Employee();&lt;br /&gt;
      TcpClient client;&lt;br /&gt;
      emp1.EmployeeID = 1;&lt;br /&gt;
      emp1.LastName = &amp;quot;Blum&amp;quot;;&lt;br /&gt;
      emp1.FirstName = &amp;quot;Katie Jane&amp;quot;;&lt;br /&gt;
      emp1.YearsService = 12;&lt;br /&gt;
      emp1.Salary = 35000.50;&lt;br /&gt;
      emp2.EmployeeID = 2;&lt;br /&gt;
      emp2.LastName = &amp;quot;Blum&amp;quot;;&lt;br /&gt;
      emp2.FirstName = &amp;quot;Jessica&amp;quot;;&lt;br /&gt;
      emp2.YearsService = 9;&lt;br /&gt;
      emp2.Salary = 23700.30;&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         client = new TcpClient(&amp;quot;127.0.0.1&amp;quot;, 9050);&lt;br /&gt;
      } catch (SocketException)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server&amp;quot;);&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      NetworkStream ns = client.GetStream();&lt;br /&gt;
      byte[] data = emp1.GetBytes();&lt;br /&gt;
      int size = emp1.size;&lt;br /&gt;
      byte[] packsize = new byte[2];&lt;br /&gt;
      Console.WriteLine(&amp;quot;packet size = {0}&amp;quot;, size);&lt;br /&gt;
      packsize = BitConverter.GetBytes(size);&lt;br /&gt;
      ns.Write(packsize, 0, 2);&lt;br /&gt;
      ns.Write(data, 0, size);&lt;br /&gt;
      ns.Flush();&lt;br /&gt;
      data = emp2.GetBytes();&lt;br /&gt;
      size = emp2.size;&lt;br /&gt;
      packsize = new byte[2];&lt;br /&gt;
      Console.WriteLine(&amp;quot;packet size = {0}&amp;quot;, size);&lt;br /&gt;
      packsize = BitConverter.GetBytes(size);&lt;br /&gt;
      ns.Write(packsize, 0, 2);&lt;br /&gt;
      ns.Write(data, 0, size);&lt;br /&gt;
      ns.Flush();&lt;br /&gt;
   &lt;br /&gt;
      ns.Close();&lt;br /&gt;
      client.Close();    &lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class Employee&lt;br /&gt;
{&lt;br /&gt;
   public int EmployeeID;&lt;br /&gt;
   private int LastNameSize;&lt;br /&gt;
   public string LastName;&lt;br /&gt;
   private int FirstNameSize;&lt;br /&gt;
   public string FirstName;&lt;br /&gt;
   public int YearsService;&lt;br /&gt;
   public double Salary;&lt;br /&gt;
   public int size;&lt;br /&gt;
   public Employee()&lt;br /&gt;
   {&lt;br /&gt;
   }&lt;br /&gt;
   public Employee(byte[] data)&lt;br /&gt;
   {&lt;br /&gt;
      int place = 0;&lt;br /&gt;
      EmployeeID = BitConverter.ToInt32(data, place);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      LastNameSize = BitConverter.ToInt32(data, place);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      LastName = Encoding.ASCII.GetString(data, place, LastNameSize);&lt;br /&gt;
      place = place + LastNameSize;&lt;br /&gt;
      FirstNameSize = BitConverter.ToInt32(data, place);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      FirstName = Encoding.ASCII.GetString(data, place, FirstNameSize);&lt;br /&gt;
      place += FirstNameSize;&lt;br /&gt;
      YearsService = BitConverter.ToInt32(data, place);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      Salary = BitConverter.ToDouble(data, place);&lt;br /&gt;
   }&lt;br /&gt;
   public byte[] GetBytes()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      int place = 0;&lt;br /&gt;
      Buffer.BlockCopy(BitConverter.GetBytes(EmployeeID), 0, data, place, 4);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      Buffer.BlockCopy(BitConverter.GetBytes(LastName.Length), 0, data, place, 4);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      Buffer.BlockCopy(Encoding.ASCII.GetBytes(LastName), 0, data, place, LastName.Length);&lt;br /&gt;
      place += LastName.Length;&lt;br /&gt;
      Buffer.BlockCopy(BitConverter.GetBytes(FirstName.Length), 0, data, place, 4);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      Buffer.BlockCopy(Encoding.ASCII.GetBytes(FirstName), 0, data, place, FirstName.Length);&lt;br /&gt;
      place += FirstName.Length;&lt;br /&gt;
      Buffer.BlockCopy(BitConverter.GetBytes(YearsService), 0, data, place, 4);&lt;br /&gt;
      place += 4;&lt;br /&gt;
      Buffer.BlockCopy(BitConverter.GetBytes(Salary), 0, data, place, 8);&lt;br /&gt;
      place += 8;&lt;br /&gt;
      size = place;&lt;br /&gt;
      return data;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fixed Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class FixedTcpClient&lt;br /&gt;
{&lt;br /&gt;
   private static int SendData(Socket s, byte[] data)&lt;br /&gt;
   {&lt;br /&gt;
      int total = 0;&lt;br /&gt;
      int size = data.Length;&lt;br /&gt;
      int dataleft = size;&lt;br /&gt;
      int sent;&lt;br /&gt;
      while (total &amp;lt; size)&lt;br /&gt;
      {&lt;br /&gt;
         sent = s.Send(data, total, dataleft, SocketFlags.None);&lt;br /&gt;
         total += sent;&lt;br /&gt;
         dataleft -= sent;&lt;br /&gt;
      }&lt;br /&gt;
      return total;&lt;br /&gt;
   }&lt;br /&gt;
   private static byte[] ReceiveData(Socket s, int size)&lt;br /&gt;
   {&lt;br /&gt;
      int total = 0;&lt;br /&gt;
      int dataleft = size;&lt;br /&gt;
      byte[] data = new byte[size];&lt;br /&gt;
      int recv;&lt;br /&gt;
      while(total &amp;lt; size)&lt;br /&gt;
      {&lt;br /&gt;
         recv = s.Receive(data, total, dataleft, 0);&lt;br /&gt;
         if (recv == 0)&lt;br /&gt;
         {&lt;br /&gt;
            data = Encoding.ASCII.GetBytes(&amp;quot;exit &amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
         total += recv;&lt;br /&gt;
         dataleft -= recv;&lt;br /&gt;
      }&lt;br /&gt;
      return data;&lt;br /&gt;
   }&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      int sent;&lt;br /&gt;
      IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      Socket server = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                      SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server.Connect(ipep);&lt;br /&gt;
      } catch (SocketException e)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server.&amp;quot;);&lt;br /&gt;
         Console.WriteLine(e.ToString());&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      int recv = server.Receive(data);&lt;br /&gt;
      string stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      Console.WriteLine(stringData);&lt;br /&gt;
      sent = SendData(server, Encoding.ASCII.GetBytes(&amp;quot;message 1&amp;quot;));&lt;br /&gt;
      sent = SendData(server, Encoding.ASCII.GetBytes(&amp;quot;message 2&amp;quot;));&lt;br /&gt;
      sent = SendData(server, Encoding.ASCII.GetBytes(&amp;quot;message 3&amp;quot;));&lt;br /&gt;
      sent = SendData(server, Encoding.ASCII.GetBytes(&amp;quot;message 4&amp;quot;));&lt;br /&gt;
      sent = SendData(server, Encoding.ASCII.GetBytes(&amp;quot;message 5&amp;quot;));&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      server.Shutdown(SocketShutdown.Both);&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Network Order Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class NetworkOrderClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      string stringData;&lt;br /&gt;
      TcpClient server;&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server = new TcpClient(&amp;quot;127.0.0.1&amp;quot;, 9050);&lt;br /&gt;
      } catch (SocketException)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server&amp;quot;);&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      NetworkStream ns = server.GetStream();&lt;br /&gt;
      int recv = ns.Read(data, 0, data.Length);&lt;br /&gt;
      stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      Console.WriteLine(stringData);&lt;br /&gt;
      short test1 = 45;&lt;br /&gt;
      int test2 = 314159;&lt;br /&gt;
      long test3 = -123456789033452;&lt;br /&gt;
      short test1b = IPAddress.HostToNetworkOrder(test1);&lt;br /&gt;
      data = BitConverter.GetBytes(test1b);&lt;br /&gt;
      Console.WriteLine(&amp;quot;sending test1 = {0}&amp;quot;, test1);&lt;br /&gt;
      ns.Write(data, 0, data.Length);&lt;br /&gt;
      ns.Flush();&lt;br /&gt;
      int test2b = IPAddress.HostToNetworkOrder(test2);&lt;br /&gt;
      data = BitConverter.GetBytes(test2b);&lt;br /&gt;
      Console.WriteLine(&amp;quot;sending test2 = {0}&amp;quot;, test2);&lt;br /&gt;
      ns.Write(data, 0, data.Length);&lt;br /&gt;
      ns.Flush();&lt;br /&gt;
      long test3b = IPAddress.HostToNetworkOrder(test3);&lt;br /&gt;
      data = BitConverter.GetBytes(test3b);&lt;br /&gt;
      Console.WriteLine(&amp;quot;sending test3 = {0}&amp;quot;, test3);&lt;br /&gt;
      ns.Write(data, 0, data.Length);&lt;br /&gt;
      ns.Flush();&lt;br /&gt;
      ns.Close();&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Network Stream Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class NetworkStreamTcpClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      string input, stringData;&lt;br /&gt;
      int recv;&lt;br /&gt;
      IPEndPoint ipep = new IPEndPoint(&lt;br /&gt;
                      IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      Socket server = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                     SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server.Connect(ipep);&lt;br /&gt;
      } catch (SocketException e)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server.&amp;quot;);&lt;br /&gt;
         Console.WriteLine(e.ToString());&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      NetworkStream ns = new NetworkStream(server);&lt;br /&gt;
      if (ns.CanRead)&lt;br /&gt;
      {&lt;br /&gt;
         recv = ns.Read(data, 0, data.Length);&lt;br /&gt;
         stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
         Console.WriteLine(stringData);&lt;br /&gt;
      }&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Error: Can&amp;quot;t read from this socket&amp;quot;);&lt;br /&gt;
         ns.Close();&lt;br /&gt;
         server.Close();&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      while(true)&lt;br /&gt;
      {&lt;br /&gt;
         input = Console.ReadLine();&lt;br /&gt;
         if (input == &amp;quot;exit&amp;quot;)&lt;br /&gt;
            break;&lt;br /&gt;
         if (ns.CanWrite)&lt;br /&gt;
         {&lt;br /&gt;
            ns.Write(Encoding.ASCII.GetBytes(input), 0, input.Length);&lt;br /&gt;
            ns.Flush();&lt;br /&gt;
         }&lt;br /&gt;
         recv = ns.Read(data, 0, data.Length);&lt;br /&gt;
         stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
         Console.WriteLine(stringData);&lt;br /&gt;
      }&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      ns.Close();&lt;br /&gt;
      server.Shutdown(SocketShutdown.Both);&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Picky Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Security;&lt;br /&gt;
using System.Security.Permissions;&lt;br /&gt;
using System.Text;&lt;br /&gt;
[SocketPermission(SecurityAction.Deny, Access=&amp;quot;Connect&amp;quot;, Host=&amp;quot;127.0.0.1&amp;quot;,&lt;br /&gt;
     Port=&amp;quot;All&amp;quot;, Transport=&amp;quot;All&amp;quot;)]&lt;br /&gt;
[SocketPermission(SecurityAction.Deny, Access=&amp;quot;Connect&amp;quot;, Host=&amp;quot;192.168.0.2&amp;quot;,&lt;br /&gt;
     Port=&amp;quot;All&amp;quot;, Transport=&amp;quot;All&amp;quot;)]&lt;br /&gt;
[SocketPermission(SecurityAction.Deny, Access=&amp;quot;Connect&amp;quot;, Host=&amp;quot;192.168.1.100&amp;quot;,&lt;br /&gt;
     Port=&amp;quot;80&amp;quot;, Transport=&amp;quot;All&amp;quot;)]&lt;br /&gt;
&lt;br /&gt;
public class PickyTcpClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      string input, stringData;&lt;br /&gt;
      TcpClient server = null;&lt;br /&gt;
      Console.Write(&amp;quot;Enter a host to connect to: &amp;quot;);&lt;br /&gt;
      string stringHost = Console.ReadLine();&lt;br /&gt;
 &lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server = new TcpClient(stringHost, 9050);&lt;br /&gt;
      } catch (SocketException)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server&amp;quot;);&lt;br /&gt;
         return;&lt;br /&gt;
      } catch (SecurityException)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&lt;br /&gt;
            &amp;quot;Sorry, you are restricted from connecting to this server&amp;quot;);&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      NetworkStream ns = server.GetStream();&lt;br /&gt;
      int recv = ns.Read(data, 0, data.Length);&lt;br /&gt;
      stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      Console.WriteLine(stringData);&lt;br /&gt;
      while(true)&lt;br /&gt;
      {&lt;br /&gt;
         input = Console.ReadLine();&lt;br /&gt;
         if (input == &amp;quot;exit&amp;quot;)&lt;br /&gt;
            break;&lt;br /&gt;
         ns.Write(Encoding.ASCII.GetBytes(input), 0, input.Length);&lt;br /&gt;
         ns.Flush();&lt;br /&gt;
         data = new byte[1024];&lt;br /&gt;
         recv = ns.Read(data, 0, data.Length);&lt;br /&gt;
         stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
         Console.WriteLine(stringData);&lt;br /&gt;
      }&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      ns.Close();&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Select Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class SelectTcpClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      Socket sock = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                        SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      IPEndPoint iep = new IPEndPoint(IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      string stringData;&lt;br /&gt;
      int recv;&lt;br /&gt;
      sock.Connect(iep);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Connected to server&amp;quot;);&lt;br /&gt;
      recv = sock.Receive(data);&lt;br /&gt;
      stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Received: {0}&amp;quot;, stringData);&lt;br /&gt;
&lt;br /&gt;
      while(true)&lt;br /&gt;
      {&lt;br /&gt;
         stringData = Console.ReadLine();&lt;br /&gt;
         if (stringData == &amp;quot;exit&amp;quot;)&lt;br /&gt;
            break;&lt;br /&gt;
         data = Encoding.ASCII.GetBytes(stringData);&lt;br /&gt;
         sock.Send(data, data.Length, SocketFlags.None);&lt;br /&gt;
         data = new byte[1024];&lt;br /&gt;
         recv = sock.Receive(data);&lt;br /&gt;
         stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
         Console.WriteLine(&amp;quot;Received: {0}&amp;quot;, stringData);&lt;br /&gt;
      }&lt;br /&gt;
      sock.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simple Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class SimpleTcpClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      string input, stringData;&lt;br /&gt;
      IPEndPoint ipep = new IPEndPoint(&lt;br /&gt;
                      IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      Socket server = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                     SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server.Connect(ipep);&lt;br /&gt;
      } catch (SocketException e)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server.&amp;quot;);&lt;br /&gt;
         Console.WriteLine(e.ToString());&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      int recv = server.Receive(data);&lt;br /&gt;
      stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      Console.WriteLine(stringData);&lt;br /&gt;
      while(true)&lt;br /&gt;
      {&lt;br /&gt;
         input = Console.ReadLine();&lt;br /&gt;
         if (input == &amp;quot;exit&amp;quot;)&lt;br /&gt;
            break;&lt;br /&gt;
         server.Send(Encoding.ASCII.GetBytes(input));&lt;br /&gt;
         data = new byte[1024];&lt;br /&gt;
         recv = server.Receive(data);&lt;br /&gt;
         stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
         Console.WriteLine(stringData);&lt;br /&gt;
      }&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      server.Shutdown(SocketShutdown.Both);&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Stream Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class StreamTcpClient&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      string data;&lt;br /&gt;
      string input;&lt;br /&gt;
      IPEndPoint ipep = new IPEndPoint(&lt;br /&gt;
                      IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      Socket server = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                     SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server.Connect(ipep);&lt;br /&gt;
      } catch (SocketException e)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server.&amp;quot;);&lt;br /&gt;
         Console.WriteLine(e.ToString());&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      NetworkStream ns = new NetworkStream(server);&lt;br /&gt;
      StreamReader sr = new StreamReader(ns);&lt;br /&gt;
      StreamWriter sw = new StreamWriter(ns);&lt;br /&gt;
      data = sr.ReadLine();&lt;br /&gt;
      Console.WriteLine(data);&lt;br /&gt;
      while(true)&lt;br /&gt;
      {&lt;br /&gt;
         input = Console.ReadLine();&lt;br /&gt;
         if (input == &amp;quot;exit&amp;quot;)&lt;br /&gt;
            break;&lt;br /&gt;
         sw.WriteLine(input);&lt;br /&gt;
         sw.Flush();&lt;br /&gt;
         data = sr.ReadLine();&lt;br /&gt;
         Console.WriteLine(data);&lt;br /&gt;
      }&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      sr.Close();&lt;br /&gt;
      sw.Close();&lt;br /&gt;
      ns.Close();&lt;br /&gt;
      server.Shutdown(SocketShutdown.Both);&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tcp Client Sample==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class TcpClientSample&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      string input, stringData;&lt;br /&gt;
      TcpClient server;&lt;br /&gt;
 &lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server = new TcpClient(&amp;quot;127.0.0.1&amp;quot;, 9050);&lt;br /&gt;
      } catch (SocketException)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server&amp;quot;);&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      NetworkStream ns = server.GetStream();&lt;br /&gt;
      int recv = ns.Read(data, 0, data.Length);&lt;br /&gt;
      stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
      Console.WriteLine(stringData);&lt;br /&gt;
      while(true)&lt;br /&gt;
      {&lt;br /&gt;
         input = Console.ReadLine();&lt;br /&gt;
         if (input == &amp;quot;exit&amp;quot;)&lt;br /&gt;
            break;&lt;br /&gt;
         ns.Write(Encoding.ASCII.GetBytes(input), 0, input.Length);&lt;br /&gt;
         ns.Flush();&lt;br /&gt;
         data = new byte[1024];&lt;br /&gt;
         recv = ns.Read(data, 0, data.Length);&lt;br /&gt;
         stringData = Encoding.ASCII.GetString(data, 0, recv);&lt;br /&gt;
         Console.WriteLine(stringData);&lt;br /&gt;
      }&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      ns.Close();&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Uses a TcpClient to handle HTTP==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
&lt;br /&gt;
public class TryTcp {&lt;br /&gt;
  public static void Main(String [] args) {&lt;br /&gt;
    TcpClient client = new TcpClient(&amp;quot;www.nfex.ru&amp;quot;, 80);&lt;br /&gt;
    NetworkStream stream = client.GetStream();&lt;br /&gt;
    byte[] send = Encoding.ASCII.GetBytes(&amp;quot;GET HTTP/1.0 \r\n\r\n&amp;quot;);&lt;br /&gt;
    stream.Write(send, 0, send.Length);&lt;br /&gt;
    byte[] bytes = new byte[client.ReceiveBufferSize];&lt;br /&gt;
    int count = stream.Read(bytes, 0, (int)client.ReceiveBufferSize);&lt;br /&gt;
    String data = Encoding.ASCII.GetString(bytes);&lt;br /&gt;
    char[] unused = {(char)data[count]};&lt;br /&gt;
    Console.WriteLine(data.TrimEnd(unused));&lt;br /&gt;
    stream.Close();&lt;br /&gt;
    client.Close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Var Tcp Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Sockets;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class VarTcpClient&lt;br /&gt;
{&lt;br /&gt;
   private static int SendVarData(Socket s, byte[] data)&lt;br /&gt;
   {&lt;br /&gt;
      int total = 0;&lt;br /&gt;
      int size = data.Length;&lt;br /&gt;
      int dataleft = size;&lt;br /&gt;
      int sent;&lt;br /&gt;
      byte[] datasize = new byte[4];&lt;br /&gt;
      datasize = BitConverter.GetBytes(size);&lt;br /&gt;
      sent = s.Send(datasize);&lt;br /&gt;
      while (total &amp;lt; size)&lt;br /&gt;
      {&lt;br /&gt;
         sent = s.Send(data, total, dataleft, SocketFlags.None);&lt;br /&gt;
         total += sent;&lt;br /&gt;
         dataleft -= sent;&lt;br /&gt;
      }&lt;br /&gt;
      return total;&lt;br /&gt;
   }&lt;br /&gt;
   private static byte[] ReceiveVarData(Socket s)&lt;br /&gt;
   {&lt;br /&gt;
      int total = 0;&lt;br /&gt;
      int recv;&lt;br /&gt;
      byte[] datasize = new byte[4];&lt;br /&gt;
      recv = s.Receive(datasize, 0, 4, 0);&lt;br /&gt;
      int size = BitConverter.ToInt32(datasize, 0);&lt;br /&gt;
      int dataleft = size;&lt;br /&gt;
      byte[] data = new byte[size];&lt;br /&gt;
      while(total &amp;lt; size)&lt;br /&gt;
      {&lt;br /&gt;
         recv = s.Receive(data, total, dataleft, 0);&lt;br /&gt;
         if (recv == 0)&lt;br /&gt;
         {&lt;br /&gt;
            data = Encoding.ASCII.GetBytes(&amp;quot;exit &amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
         total += recv;&lt;br /&gt;
         dataleft -= recv;&lt;br /&gt;
      }&lt;br /&gt;
      return data;&lt;br /&gt;
   }&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      byte[] data = new byte[1024];&lt;br /&gt;
      int sent;&lt;br /&gt;
      IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(&amp;quot;127.0.0.1&amp;quot;), 9050);&lt;br /&gt;
      Socket server = new Socket(AddressFamily.InterNetwork,&lt;br /&gt;
                      SocketType.Stream, ProtocolType.Tcp);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         server.Connect(ipep);&lt;br /&gt;
      } catch (SocketException e)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Unable to connect to server.&amp;quot;);&lt;br /&gt;
         Console.WriteLine(e.ToString());&lt;br /&gt;
         return;&lt;br /&gt;
      }&lt;br /&gt;
      data = ReceiveVarData(server);&lt;br /&gt;
      string stringData = Encoding.ASCII.GetString(data);&lt;br /&gt;
      Console.WriteLine(stringData);&lt;br /&gt;
      string message1 = &amp;quot;This is the first test&amp;quot;;&lt;br /&gt;
      string message2 = &amp;quot;A short test&amp;quot;;&lt;br /&gt;
      string message3 = &amp;quot;This string is an even longer test. The quick brown fox jumps over the lazy dog.&amp;quot;;&lt;br /&gt;
      string message4 = &amp;quot;a&amp;quot;;&lt;br /&gt;
      string message5 = &amp;quot;The last test&amp;quot;;&lt;br /&gt;
      sent = SendVarData(server, Encoding.ASCII.GetBytes(message1));&lt;br /&gt;
      sent = SendVarData(server, Encoding.ASCII.GetBytes(message2));&lt;br /&gt;
      sent = SendVarData(server, Encoding.ASCII.GetBytes(message3));&lt;br /&gt;
      sent = SendVarData(server, Encoding.ASCII.GetBytes(message4));&lt;br /&gt;
      sent = SendVarData(server, Encoding.ASCII.GetBytes(message5));&lt;br /&gt;
      Console.WriteLine(&amp;quot;Disconnecting from server...&amp;quot;);&lt;br /&gt;
      server.Shutdown(SocketShutdown.Both);&lt;br /&gt;
      server.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>