insertbefore怎么用(如何使用WebSocket)
本文目录
如何使用WebSocket
服务端代码 class Program:WebSocketServer { static void Main(string args) { TcpUtils.Setup(“beetle“); Program server = new Program(); server.Open(8088); Console.WriteLine(“websocket start@8088“); System.Threading.Thread.Sleep(-1); } protected override void OnConnected(object sender, ChannelEventArgs e) { base.OnConnected(sender, e); } protected override void OnDisposed(object sender, ChannelDisposedEventArgs e) { base.OnDisposed(sender, e); } protected override void OnError(object sender, ChannelErrorEventArgs e) { base.OnError(sender, e); } protected override void OnWebSocketReceive(TcpChannel channel, DataPackage e) { Console.WriteLine(“MessageType:{0}“, e.Type); Console.WriteLine(“RequestPath:{0}“, e.RequestPath); if (e.Type == PackageType.text) { Console.WriteLine(e.ToString()); DataPackage dp = new DataPackage(); dp.Type = PackageType.text; dp.Data.Encoding(“hello “ + e.ToString(), Encoding.UTF8); channel.Send(dp); } } }以上就是一个完整的websocket服务,代码非常简单WebSocketServer重写OnWebSocketReceive即可,在事件中根据需要处理对应的DataPackage即可,对于DataPackage的结构和类型实现参考下载代码.Html代码《html》《meta charset=“utf-8“ /》《title》WebSocket Test《/title》《script language=“javascript“ type=“text/javascript“》 var wsUri = “ws://127.0.0.1:8088/“; var output; function init() { output = document.getElementById(“output“); testWebSocket(); } function testWebSocket() { websocket = new WebSocket(wsUri); websocket.onopen = function (evt) { onOpen(evt) }; websocket.onclose = function (evt) { onClose(evt) }; websocket.onmessage = function (evt) { onMessage(evt) }; websocket.onerror = function (evt) { onError(evt) }; } function onOpen(evt) { writeToScreen(“CONNECTED“); } function onClose(evt) { writeToScreen(“DISCONNECTED“); } function onMessage(evt) { document.getElementById(’result’).value = evt.data; } function onError(evt) { writeToScreen(’《span style=“color: red;“》ERROR:《/span》 ’ + evt.data); } function doSend(message) { websocket.send(message); } function writeToScreen(message) { var pre = document.createElement(“p“); pre.style.wordWrap = “break-word“; pre.innerHTML = message; output.insertBefore(pre); } function OnConnect() { wsUri = document.getElementById(“url“).value; init(); } 《/script》《body》《fieldset》《legend》WebSocket hello wold《/legend》 《p》《span》Server url:《/span》《input id=“url“ type=“text“ value=“ws://127.0.0.1:8088/“/》《input type=“button“ value=“Connected“ onclick=“OnConnect()“ /》《/p》 《p》《span》Enter you name:《/span》《input id=“youname“ type=“text“ value=“test“/》《input type=“button“ value=“Submit“ onclick=“doSend(document.getElementById(’youname’).value)“ /》《/p》 《p》《span》Result:《/span》《input id=“result“ type=“text“ value=““/》《/p》 《/fieldset》《div id=“output“》《/div》《/body》《/html》
如何用原生的js实现InsertBefore函数
document.getElementById(“myList“).insertBefore(newItem,existingItem);原生就支持的
更多文章:

layers of fear 2(steam恐怖游戏排行榜是怎么样的)
2025年3月25日 15:40

suggestions翻译(suggestionanswerbulter的drama和翻译)
2025年2月26日 07:20

bootstrap为什么不流行了(七八十年代,在农村有种潮流叫“的确良”,为何现在不流行了)
2025年2月11日 22:30

mousedown是什么事件(c#中长期按住键子的功能触发的是什么事件)
2025年2月28日 13:20

xweibo(Xweibo新浪,谁能解析下这个微波系统的框架)
2025年3月18日 21:50

mathematica解方程(mathematica 解方程)
2025年4月11日 07:20

phonegap教程(intellij idea怎么配置phonegap)
2025年3月16日 12:30

微信小程序怎么制作自己的程序(制作微信小程序需要准备什么,可以自己制作吗)
2025年2月12日 15:20

教程的教程类型?vba教程如何在已有的工作表里插入一个工作表
2025年4月14日 16:10

radioactive钢琴谱(美国的钢琴王子William Joseph Radioactive这首钢琴歌曲在那下载啊)
2025年3月9日 08:30

eclipse刚开始怎么使用(学java用的eclipse怎么使用呢英文版的,本人英文差了些eclipse怎么样开始编写代码都不知道)
2025年2月23日 13:50