第一步,使用VS创建一个应用程序
第二步,添加引用 websocket-sharp DLL文件,或者NuGet程序包中添加
第三部,创建Laputa 类
using WebSocketSharp; using WebSocketSharp.Server; namespace ConsoleApp1 { public class Laputa : WebSocketBehavior { protected override void OnMessage(MessageEventArgs e) { var msg = "I'm not available now."; if(e.Data == "BALUS") { msg = "I've been balused already..."; } Send(msg); } } }
第四步,Program下写上如下代码
using System; using WebSocketSharp.Server; namespace ConsoleApp1 { class Program { static void Main(string[] args) { var wssv = new WebSocketServer(4649); wssv.AddWebSocketService<Laputa>("/Laputa"); wssv.Start(); if (wssv.IsListening) { Console.WriteLine("Listening on port {0}, and providing WebSocket services:", wssv.Port); foreach (var path in wssv.WebSocketServices.Paths) Console.WriteLine("- {0}", path); } Console.WriteLine("\nPress Enter key to stop the server..."); Console.ReadLine(); wssv.Stop(); } } }
第五步,前端调用代码
<html> <head> <title>websocket client</title> <script type="text/javascript"> var ws; function startWS() { ws = new WebSocket("ws://127.0.0.1:4649/Laputa"); ws.onopen = function (msg) { console.log("Openened connection to websocket"); }; ws.onmessage = function (message) { console.log('receive message: ' + message.data); }; ws.onerror = function (error) { console.log('Error: ' + error.name + error.number); }; ws.onclose = function () { console.log("Close connection to websocket"); startWS(); }; } function sendMessage() { console.log('Sending a message...'); ws.send('BALUS'); } window.onbeforeunload = function () { ws.onclose = function () { }; // 首先关闭 WebSocket ws.close() }; startWS(); </script> </head> <body> <button onclick="sendMessage()">测试</button> </body> </html>
测试成功了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器