HTML5 Socket通信使用起来也是相当不从的,先将部分JS代码与大家分享:
var socket; function connect() { var host = "ws://" + $("serverIP").value + ":" + $("serverPort").value + "/" socket = new WebSocket(host); try { socket.onopen = function (msg) { $("btnConnect").disabled = true; alert("连接成功!"); }; socket.onmessage = function (msg) { if (typeof msg.data == "string") { displayContent(msg.data); } else { alert("非文本消息"); } }; socket.onclose = function (msg) { alert("socket closed!") }; } catch (ex) { log(ex); } } function send() { var msg = $("sendText").value + ' ' socket.send(msg); } window.onbeforeunload = function () { try { socket.close(); socket = null; } catch (ex) { } };
通晓HTML5能用Socket通信,那么写一个网页端的及时通信软件也就不是什么难事了,比如QQ网页版,写这样的及时通信系统避免不了使用Socket服务端进行消息转发。Socket通信这方面的知识,微软有自带的system.NET.Socket库文件,但是现在一些比较流行的Socket通信框架也不少,如果你觉得自己调用微软Socket库太麻烦,那么我们可以选择使用striveEngine这个sokcet框架,这个相对比较轻量级别,封装底层通信代码,当然你也可以选择ESFrameWork框架,这个框架相对比较重量级,之所以说重量级,主要是接口和功能比较多,适合写大型通信项目使用。简单介绍就到这里,下面是从网上下载的一个简单Demo,描述HMTL5使用Socket通信与服务端(使用striveEngine)交互的代码实现。