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 = null; static void Main(string[] args) { webSocket = new List(); 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|"); } } }