全国服务热线:4008-888-888

技术知识

小程序开发记录-H5 WebSocket 如何和C#进行通信

--------

小程序开发记录

------- HTML5做为下一代的 Web 规范, 有着很多引人注意的新特点,如 Canvas、当地储存、多新闻媒体程序编写插口、WebSocket 等。WebSocket 在访问器和服务器之间出示了一个根据 TCP 联接的双重安全通道。Web 开发设计人员能够十分便捷地应用 WebSocket 搭建即时 web 运用。HTML5 WebSocket 的目地就是要取代轮询和 Comet 技术性,使顾客端访问器材备像 C/S 构架下桌面上系统软件的即时通信工作能力。 WebSocket 在数据信息传送的平稳性和数据信息传送量的尺寸方面,和轮询和 Comet 技术性比较,具备很大的特性优点。

     下面给出一个简易的事例,来讲明websocket怎样开展前后左右台互动:

1、html网页页面

最先分辨访问器是不是适用WebSocket,假如具备此特点,则开启特殊uri,开展数据信息互动。

 html 
 head 
  script 
  var socket ;
  if ( WebSocket in window) {
  //alert( WebSocket is supported by your Browser! 
  //open web socket
  var ws = new WebSocket( ws://localhost:8181/echo 
  socket = ws;
  ws.onopen = function() {
  // Web Socket is connected, send data using send()
  // ws.send( Message from client 
  //console.log( Message is sent... 
  };
  ws.onmessage = function(evt) {
  var received_msg = evt.data;
  //alert( Message is received... 
  console.log( Server: +evt.data);
  };
  ws.onclose = function() {
  // websocket is closed.
  alert( Connection is closed... 
  };
  } else {
  //不适用WebSocket
  alert( WebSocket not supported by your Browser! 
  }
  function login(){
  socket.send( {\ uid\ :\ admin\ ,\ pwd\ :\ admin\ } 
  }
  /script 
 /head 
 
 body 
  button quot;login(); login /button 
 /body 
 /html 
2、C# websocket server

using System;
using Fleck;
using Newtonsoft.Json;
namespace WebSocketNet
 class Program
 static void Main(string[] args)
 //Fleck
 var server = new WebSocketServer( ws://0.0.0.0:8181 
 server.Start(socket = 
 socket.OnOpen = () = 
 Console.WriteLine( Open! 
 socket.Send( hello 
 socket.OnClose = () = Console.WriteLine( Close! 
 socket.OnMessage = message = 
 Console.WriteLine(message);
 //尝试用websocket开展登陆
 dynamic o = JsonConvert.DeserializeObject(message);
 var pwd = o.pwd;
 var uid = o.uid;
 if (uid == admin uid == admin )
 socket.Send( ess 
 else
 socket.Send( login fail 
---------

小程序开发记录

------------


在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服