|
|
|
|
using SuperSocket.ClientEngine;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using WebSocket4Net;
|
|
|
|
|
|
|
|
|
|
namespace StartServerWPF.Modules.Main
|
|
|
|
|
{
|
|
|
|
|
public class WebsocketClient
|
|
|
|
|
{
|
|
|
|
|
public WebSocket webSocket4Net = null;
|
|
|
|
|
public void WebSocketInit()
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("客户端");
|
|
|
|
|
webSocket4Net = new WebSocket("ws://localhost:5000/ws");
|
|
|
|
|
webSocket4Net.Opened += WebSocket4Net_Opened;
|
|
|
|
|
webSocket4Net.Error += new EventHandler<ErrorEventArgs>(WebSocket_Error);
|
|
|
|
|
webSocket4Net.MessageReceived += WebSocket4Net_MessageReceived;
|
|
|
|
|
webSocket4Net.Open();
|
|
|
|
|
Console.WriteLine("客户端连接成功!");
|
|
|
|
|
Thread thread = new Thread(ClientSendMsgToServer);
|
|
|
|
|
thread.IsBackground = true;
|
|
|
|
|
thread.Start();
|
|
|
|
|
// webSocket4Net.Dispose();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ClientSendMsgToServer()
|
|
|
|
|
{
|
|
|
|
|
int i = 88;
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
|
//Console.WriteLine($"客户端发送数据{i++}");
|
|
|
|
|
Thread.Sleep(TimeSpan.FromSeconds(2));
|
|
|
|
|
if (webSocket4Net.State == WebSocketState.Open)
|
|
|
|
|
{
|
|
|
|
|
webSocket4Net.Send("{\"type\":\"heartbeat\",\"utype\":\"device\",\"uid\":123}");
|
|
|
|
|
}
|
|
|
|
|
else if (webSocket4Net.State == WebSocketState.Closed)
|
|
|
|
|
{
|
|
|
|
|
Thread.Sleep(TimeSpan.FromSeconds(5));
|
|
|
|
|
webSocket4Net.Open();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void WebSocket4Net_MessageReceived(object sender, MessageReceivedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Debug.WriteLine($"服务端回复数据:{e.Message}!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void WebSocket4Net_Opened(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
// webSocket4Net.Send($"客户端准备发送数据!");
|
|
|
|
|
}
|
|
|
|
|
void WebSocket_Error(object sender, ErrorEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Debug.WriteLine("websocket_Error:" + e.Exception.ToString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|