點擊可以查看一些關於websocket的介紹
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <input type="button" id="send" onclick="send()" value="發送"> 9 <input type="text" id="message"> 10 <script type="text/javascript"> 11 var wsClient=new WebSocket( 'ws://localhost:40001'); 12 wsClient.open=function(e){ 13 console.log("Connected!"); 14 } 15 wsClient.onclose=function(e){ 16 console.log("Disconnected!"); 17 } 18 wsClient.onmessage=function(e){ 19 console.log("接收消息:"+e.data); 20 } 21 wsClient.onerror=function(e){ 22 console.log(e.data); 23 } 24 function send(){ 25 var oText=document.getElementById("message"); 26 wsClient.send(oText.value); 27 } 28 </script> 29 </body> 30 </html>
SuperWebSocket 繼承了Socket框架SuperSocket,是一個WebSocket服務器的網絡實現。
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 WebSocketServer server = new WebSocketServer(); 6 server.NewSessionConnected += server_NewSessionConnected; 7 8 server.NewMessageReceived += server_NewMessageReceived; 9 server.SessionClosed += server_SessionClosed; 10 try 11 { 12 server.Setup("127.0.0.1", 40001);//設置端口 13 server.Start();//開啟監聽 14 } 15 catch (Exception ex) 16 { 17 Console.WriteLine(ex.Message); 18 } 19 Console.ReadKey(); 20 } 21 22 static void server_SessionClosed(WebSocketSession session, SuperSocket.SocketBase.CloseReason value) 23 { 24 Console.WriteLine(session.Origin); 25 } 26 27 static void server_NewMessageReceived(WebSocketSession session, string value) 28 { 29 Console.WriteLine(value); 30 session.Send(value); 31 } 32 33 static void server_NewSessionConnected(WebSocketSession session) 34 { 35 Console.WriteLine(session.Origin); 36 } 37 }
剛開始自己也試著寫了個websocket的服務器,但是覺得麻煩,後來還是直接用SuperWebSocket了,因為它真的簡單實用高大上。直接在NuGet包中就可以直接安裝,
順帶把常用的log4net和njson都裝了,一步到位啊。