Files
OpenRA/OpenRA.Server/Class1.cs
Chris Forbes 2a5ef4e830 chrome
2009-11-16 21:29:48 +13:00

49 lines
894 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Threading;
namespace OpenRA.Server
{
class Program
{
static void Main(string[] args)
{
var left = new TcpListener(1234);
left.Start();
var right = new TcpListener(1235);
right.Start();
var lc = left.AcceptTcpClient();
lc.NoDelay = true;
var l = lc.GetStream();
var rc = right.AcceptTcpClient();
rc.NoDelay = true;
var r = rc.GetStream();
var ll = new Thread(RW(l, r));
var rr = new Thread(RW(r, l));
ll.Start();
rr.Start();
ll.Join();
}
static ThreadStart RW(NetworkStream a, NetworkStream b)
{
return () =>
{
var buf = new byte[4096];
while (true)
{
var len = a.Read(buf, 0, 4096);
b.Write(buf, 0, len);
}
};
}
}
}