標籤:
用戶端代碼
點擊可以查看一些關於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 try11 {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都裝了,一步到位啊。
C#(SuperWebSocket)與websocket通訊