// Server
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;namespace ConsoleApplication25
{
class Class1
{
TcpListener tl;
public static void Main()
{
Class1 c = new Class1();
c.beginWork();
}
private void beginWork()
{
tl = new TcpListener(IPAddress.Any, 4050);
Thread lt = new Thread(new ThreadStart(Listen));
lt.Start();
}
private void Listen()
{
tl.Start();
TcpClient client;
while (true)
{
client = tl.AcceptTcpClient();
Thread clientThread = new Thread(new
ParameterizedThreadStart(HandleClientComm));
clientThread.Start(client);
}
}
private void HandleClientComm(object client)
{
TcpClient tcpClient = (TcpClient)client;
NetworkStream ns = tcpClient.GetStream();
byte message = new byte;
int bytesRead;
while (true)
{
try
{
bytesRead = ns.Read(message, 0, 4096);
}
catch
{
break;
}
if (bytesRead == 0)
break;
ASCIIEncoding encoder = new ASCIIEncoding();
Console.WriteLine(encoder.GetString(message, 0,
bytesRead));
}
tcpClient.Close();
}
}
}
// Client
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace ConsoleApplication24
{
class Class1
{
public static void Main()
{
TcpClient client = new TcpClient();
IPEndPoint serverEndPoint =
new IPEndPoint(IPAddress.Parse("127.0.0.1"), 4050);
client.Connect(serverEndPoint);
NetworkStream clientSt
ream = client.GetStream();
ASCIIEncoding encoder = new ASCIIEncoding();
byte buffer = encoder.GetBytes("Hello Server!");
clientStream.Write(buffer, 0, buffer.Length);
clientStream.Flush();
}
}
}