ManualResetEvent mutex = new ManualResetEvent(false);
//Setup listener
- listener.NewConnection += delegate(object sender, NewConnectionEventArgs ncArgs)
+ listener.NewConnection += delegate(NewConnectionEventArgs ncArgs)
{
ncArgs.Connection.SendBytes(data, sendOption);
};
DataReceivedEventArgs args = null;
//Setup conneciton
- connection.DataReceived += delegate(object sender, DataReceivedEventArgs a)
+ connection.DataReceived += delegate(DataReceivedEventArgs a)
{
Trace.WriteLine("Data was received correctly.");
//Setup listener
DataReceivedEventArgs result = null;
- listener.NewConnection += delegate(object sender, NewConnectionEventArgs args)
+ listener.NewConnection += delegate(NewConnectionEventArgs args)
{
- args.Connection.DataReceived += delegate(object innerSender, DataReceivedEventArgs innerArgs)
+ args.Connection.DataReceived += delegate(DataReceivedEventArgs innerArgs)
{
Trace.WriteLine("Data was received correctly.");
mutex.Set();
};
- listener.NewConnection += delegate(object sender, NewConnectionEventArgs args)
+ listener.NewConnection += delegate(NewConnectionEventArgs args)
{
- args.Connection.Close();
+ args.Connection.Disconnect("Testing");
};
listener.Start();
ManualResetEvent mutex = new ManualResetEvent(false);
ManualResetEvent mutex2 = new ManualResetEvent(false);
- listener.NewConnection += delegate(object sender, NewConnectionEventArgs args)
+ listener.NewConnection += delegate(NewConnectionEventArgs args)
{
args.Connection.Disconnected += delegate(object sender2, DisconnectedEventArgs args2)
{
mutex.WaitOne();
- connection.Close();
+ connection.Disconnect("Testing");
mutex2.WaitOne();
}
listener.Start();
MessageReader output = null;
- listener.NewConnection += delegate (object sender, NewConnectionEventArgs e)
+ listener.NewConnection += delegate (NewConnectionEventArgs e)
{
output = e.HandshakeData;
};
using (UdpConnection connection = new UdpClientConnection(new NetworkEndPoint(IPAddress.Loopback, 4296, IPMode.IPv4)))
{
MessageReader output = null;
- listener.NewConnection += delegate (object sender, NewConnectionEventArgs e)
+ listener.NewConnection += delegate (NewConnectionEventArgs e)
{
- e.Connection.DataReceived += delegate (object s, DataReceivedEventArgs evt)
+ e.Connection.DataReceived += delegate (DataReceivedEventArgs evt)
{
output = evt.Message;
};
using (UdpConnection connection = new UdpClientConnection(new NetworkEndPoint(IPAddress.Loopback, 4296, IPMode.IPv4)))
{
listener.Start();
- listener.NewConnection += delegate (object sender, NewConnectionEventArgs e)
+ listener.NewConnection += delegate (NewConnectionEventArgs e)
{
- e.Connection.DataReceived += delegate (object s, DataReceivedEventArgs evt)
+ e.Connection.DataReceived += delegate (DataReceivedEventArgs evt)
{
Assert.IsTrue(Enumerable.SequenceEqual(evt.Message.Buffer, new byte[] { 3, 4 }));
};
{
listener2.Start();
- listener2.NewConnection += (sender, evt) =>
+ listener2.NewConnection += (evt) =>
{
Console.WriteLine("v6 connection: " + ((NetworkConnection)evt.Connection).GetIP4Address());
};
using (UdpConnectionListener listener = new UdpConnectionListener(new NetworkEndPoint(IPAddress.Any, 4296)))
using (UdpConnection connection = new UdpClientConnection(new NetworkEndPoint(IPAddress.Loopback, 4296)))
{
- listener.NewConnection += delegate(object sender, NewConnectionEventArgs args)
+ listener.NewConnection += delegate(NewConnectionEventArgs args)
{
((UdpConnection)args.Connection).KeepAliveInterval = 100;
[TestClass]
public class UnitTest1
{
- // [TestMethod]
+ [TestMethod]
public void StressTest()
{
+ var ep = new NetworkEndPoint(IPAddress.Loopback, 22023);
Parallel.For(0, 10000,
- new ParallelOptions { MaxDegreeOfParallelism = 16 },
- (i) =>
- {
- var ep = new NetworkEndPoint(IPAddress.Loopback, 22023);
- using (var connection = new UdpClientConnection(ep))
- {
- connection.Connect();
- Thread.Sleep(100);
- }
+ new ParallelOptions { MaxDegreeOfParallelism = 64 },
+ (i) => {
+
+ var connection = new UdpClientConnection(ep);
+ connection.KeepAliveInterval = 50;
+
+ connection.Connect(new byte[5]);
});
}
}
if (this.state == ConnectionState.Connected
|| this.state == ConnectionState.Disconnecting)
{
- SendDisconnect();
+ // SendDisconnect();
this.state = ConnectionState.NotConnected;
}
}