这里没有对onOpen、onClose、onError做案例,生产环境需要具备。
1.客户端
只推送不接收数据
创建WebSocketClient类
1 class WebSocketClient
2 {
3 WebSocket ws;
4 string host;
5 string port;
6 public WebSocketClient()
7 {
8 string[] tcpPoint = XMLHelper.getArrayHost("/host/tcphost");
9 host = tcpPoint[0];
10 port = tcpPoint[1];
11 ws = new WebSocket("ws://" + host + ":" + port);
12 ws.Connect();
13 }
14
15 public bool ConnState()
16 {
17 if (ws.ReadyState==WebSocketState.Connecting||ws.ReadyState==WebSocketState.Open)
18 {
19 return true;
20 }
21 return false;
22 }
23
24 public void SendData(string json)
25 {
26 ws.Send(json);
27 }
28 }
2.服务端
创建Chat类,接收数据
1 class Chat:WebSocketBehavior
2 {
3 protected override async Task OnMessage(MessageEventArgs e)
4 {
5
6 StreamReader reader = new StreamReader(e.Data);
7 string text = reader.ReadToEnd();
8 try
9 {
10 //业务处理
11 }
12 catch (Exception exception)
13 {
14 Console.WriteLine(exception);
15 }
16 }
17 }
Main
1 class Program
2 {
3 static void Main(string[] args)
4 {
5 int port=8088;//监听端口号
6 var wsServer = new WebSocketServer(null, port);
7 wsServer.AddWebSocketService<Chat>("/");
8 wsServer.Start();
9 Console.WriteLine("开启" + port + "端口WebSocket监听...");
10
11 Console.ReadKey(true);
12 wsServer.Stop();
13 }
14 }