本文整理汇总了C#中Listener.StartServer方法的典型用法代码示例。如果您正苦于以下问题:C# Listener.StartServer方法的具体用法?C# Listener.StartServer怎么用?C# Listener.StartServer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Listener
的用法示例。
在下文中一共展示了Listener.StartServer方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConnectTest
public void ConnectTest()
{
var server = new Listener<object>();
server.StartServer(4530);
server.SocketConnect += OnSocketConnect;
TcpClient client = new TcpClient();
client.Connect("localhost", 4530);
Assert.IsTrue(client.Connected);
if (!UnitTestUtil.Wait(1000, () => isConnect))
Assert.Fail("socket连接在超时后,未出发连接事件。t");
server.Close();
}
示例2: SendRecvTest
public void SendRecvTest()
{
isRecv = false;
var server = new Listener<object>();
server.StartServer(4531);
server.SocketConnect += OnSocketRecvConnect;
server.SocketRecv += server_SocketRecv;
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect("localhost", 4531);
Assert.IsTrue(client.Connected);
if (!UnitTestUtil.Wait(1000, () => isRecvConnect))
Assert.Fail("socket连接在超时后,未出发连接事件。");
var buffer = new byte[4];
buffer[0] = 1;
buffer[3] = 255;
client.Send(buffer, buffer.Length, SocketFlags.None);
if (!UnitTestUtil.Wait(1000, () => isRecv))
Assert.Fail("socket连接成功后发数据,服务器没收到数据。");
var outbuffer = new byte[10];
var len = client.Receive(outbuffer);
Assert.AreEqual(len, 4);
Assert.AreEqual(outbuffer[0], 1);
Assert.AreEqual(outbuffer[3], 255);
Assert.AreEqual(outbuffer[4], 0);
// 再发送测试一次
isRecv = false;
client.Send(buffer, 2, SocketFlags.None);
if (!UnitTestUtil.Wait(1000, () => isRecv))
Assert.Fail("socket连接成功后发数据,服务器没收到数据。");
outbuffer = new byte[10];
len = client.Receive(outbuffer);
Assert.AreEqual(len, 2);
Assert.AreEqual(outbuffer[0], 1);
server.Close();
}
示例3: Main
static void Main(string[] args)
{
Logs.AddConsoleAppender();
var servers = new Listener<Session>();
servers.SocketConnect += OnSocketConnect;
servers.SocketDisconnect += OnSocketDisconnect;
servers.SocketRecv += OnSocketRecv;
servers.StartServer(10086);
Logs.Info("服务器启动,等待客户端连接。按Esc键退出");
while (true)
{
var key = Console.ReadKey();
if (key.Key == ConsoleKey.Escape)
break;
Thread.Sleep(100);
}
}
示例4: CloseTest
public void CloseTest()
{
isDisconnect = false;
var server = new Listener<object>();
server.StartServer(4532);
server.SocketConnect += OnSocketConnect;
server.SocketDisconnect += server_SocketDisconnect;
TcpClient client = new TcpClient();
client.Connect("localhost", 4532);
Assert.IsTrue(client.Connected);
if (!UnitTestUtil.Wait(1000, () => isConnect))
Assert.Fail("socket连接在超时后,未出发连接事件。");
client.Close();
if (!UnitTestUtil.Wait(1000, () => isDisconnect))
Assert.Fail("服务器没收到客户端断开连接事件。");
server.Close();
}
示例5: StartServerSocket
/// <summary>
/// 开始服务器socket,可以开始接收客户端数据
/// </summary>
private void StartServerSocket()
{
var serverTcpConfig = ServerConfig.Tcp;
if (serverTcpConfig == null || serverTcpConfig.Length == 0)
{
Logs.Error(@"请先配置..\Server.Config 文件下root\ServerConfig\Tcp 的服务器配置");
return;
}
Listeners = new Listener<NetState>[serverTcpConfig.Length];
var index = 0;
foreach (var tcp in serverTcpConfig)
{
var linster = new Listener<NetState>();
linster.StartServer(tcp.Host, tcp.Port);
linster.SocketConnect += OnSocketConnect;
linster.SocketDisconnect += OnSocketDisconnect;
linster.SocketRecv += OnSocketRecv;
Listeners[index++] = linster;
Logs.Info("open socket {0}:{1}", tcp.Host, tcp.Port);
}
}