rendered paste bodyusing System;
using System.Threading;
using System.Net.Sockets;
using System.Net;
namespace Test
{
public class TestClass
{
Socket sender;
Socket receiver;
byte[] sendbuffer;
byte[] receivebuffer;
public TestClass()
{
this.sendbuffer = new byte[1638400];
this.receivebuffer = new byte[1638400];
this.receiver = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
this.sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}
public static void Main(string[] args)
{
TestClass t = new TestClass();
t.Start();
System.Threading.Thread.Sleep(10000);
}
delegate void TestDel(int number);
public void Start()
{
this.receiver.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5123));
this.receiver.Listen(2);
IAsyncResult result = receiver.BeginAccept(null, null);
this.sender.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5123));
this.receiver = receiver.EndAccept(result);
this.sender.BeginSend(sendbuffer, 0, sendbuffer.Length-10, SocketFlags.None, new AsyncCallback(EndSend), null);
this.receiver.BeginReceive(receivebuffer, 0, receivebuffer.Length, SocketFlags.None, new AsyncCallback(EndReceive), null);
}
public void EndSend(IAsyncResult result)
{
TestDel d = new TestDel(PrintNumber);
d(1);
Console.WriteLine("Sent");
this.sender.EndSend(result);
this.sender.BeginSend(sendbuffer, 0, sendbuffer.Length, SocketFlags.None, new AsyncCallback(EndSend), null);
}
public void EndReceive(IAsyncResult result)
{
TestDel d = new TestDel(PrintNumber);
d(2);
Console.WriteLine("Received");
this.receiver.EndReceive(result);
this.receiver.BeginReceive(receivebuffer, 0, receivebuffer.Length, SocketFlags.None, new AsyncCallback(EndReceive), null);
}
public void PrintNumber(int number)
{
//Console.WriteLine(number);
}
}
}