80 lines
2.8 KiB
C#
80 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using WebSocket4Net;
|
|
|
|
namespace SuperSocketTest
|
|
{
|
|
class Program
|
|
{
|
|
public static List<WebSocket> webSocket = null;
|
|
static void Main(string[] args)
|
|
{
|
|
webSocket = new List<WebSocket>();
|
|
int i = 0;
|
|
//for (int i = 0; i < 200; i++)
|
|
//{
|
|
WebSocket webSocket4Net = new WebSocket("ws://localhost:7119/?user=888888042002&" + i);
|
|
webSocket4Net.Opened += WebSocket4Net_Opened;
|
|
webSocket4Net.MessageReceived += WebSocket4Net_MessageReceived;
|
|
webSocket4Net.Error += WebSocket4Net_Error;
|
|
webSocket4Net.Closed += WebSocket4Net_Closed;
|
|
webSocket4Net.AutoSendPingInterval = 5;
|
|
webSocket4Net.EnableAutoSendPing = true;
|
|
webSocket4Net.Open();
|
|
Console.WriteLine($"客户端【{i}】连接成功!");
|
|
Thread thread = new Thread(() => ClientSendMsgToServer(webSocket4Net, i.ToString()));
|
|
thread.IsBackground = true;
|
|
thread.Start();
|
|
Thread.Sleep(TimeSpan.FromMilliseconds(100));
|
|
//}
|
|
//webSocket4Net = new WebSocket("ws://47.110.76.151:7119");
|
|
|
|
|
|
Console.WriteLine("按任意键结束。。。");
|
|
Console.ReadKey();
|
|
//webSocket4Net.Dispose();
|
|
|
|
}
|
|
|
|
private static void WebSocket4Net_Closed(object sender, EventArgs e)
|
|
{
|
|
Console.WriteLine($"客户端下线");
|
|
}
|
|
|
|
private static void WebSocket4Net_Error(object sender, SuperSocket.ClientEngine.ErrorEventArgs e)
|
|
{
|
|
Console.WriteLine($"错误:{e.Exception.Message}");
|
|
}
|
|
|
|
public static void ClientSendMsgToServer(WebSocket webSocket, string user)
|
|
{
|
|
string str_user = user;
|
|
int i = 88;
|
|
while (true)
|
|
{
|
|
Console.WriteLine($"客户端发送数据{str_user}");
|
|
string send = str_user + "|" + str_user + "的消息";
|
|
byte[] sendByte = Encoding.UTF8.GetBytes(send);
|
|
webSocket.Send(sendByte, 0, sendByte.Length);
|
|
//webSocket4Net.Send($"{i++}");
|
|
Thread.Sleep(TimeSpan.FromSeconds(5));
|
|
}
|
|
}
|
|
static int count = 0;
|
|
private static void WebSocket4Net_MessageReceived(object sender, MessageReceivedEventArgs e)
|
|
{
|
|
count++;
|
|
Console.WriteLine($"服务端回复数据:{DateTime.Now}【{e.Message}!】{count}");
|
|
}
|
|
|
|
private static void WebSocket4Net_Opened(object sender, EventArgs e)
|
|
{
|
|
//if (((WebSocket)sender).State == WebSocketState.Open)
|
|
// ((WebSocket)sender).Send($"888888042002|");
|
|
}
|
|
}
|
|
}
|