微信小程序WebSocket使用案例
微信小程序WebSocket使用案例
一、Asp.Net Core6服务器端代码
在上一篇博文中,我们已经介绍了如何使用 Asp.Net Core6 实现 WebSocket 的简单案例。这里我们直接引用该内容:
```csharpusing Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace WebSocketServer{
public class Startup {
public void ConfigureServices(IServiceCollection services)
{
services.AddWebSocket();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapWebSocket("/ws", new WebSocketOptions());
});
}
}
}
```
```csharpusing Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
public class WebSocketOptions{
public string Path { get; set; } = "/ws";
}
public class WebSocketMiddleware{
private readonly RequestDelegate _next;
private readonly WebSocketOptions _options;
public WebSocketMiddleware(RequestDelegate next, WebSocketOptions options)
{
_next = next;
_options = options;
}
public async Task InvokeAsync(HttpContext context)
{
var socket = new WebSocket(context.Request.Path + _options.Path);
await socket.Start();
await socket.OnMessageAsync((message) =>
{
Console.WriteLine($"Received message: {message}");
return Task.CompletedTask;
});
await socket.OnCloseAsync(() =>
{
Console.WriteLine("WebSocket closed.");
return Task.CompletedTask;
});
}
}
```
二、微信小程序端WebSocket使用
1. wx.connectSocket() 创建 socket连接任务```javascript// 连接 WebSocket服务wx.connectSocket({
url: 'ws://localhost:5000/ws', // WebSocket 地址 success: function (res) {
console.log('连接成功');
},
fail: function (res) {
console.log('连接失败');
}
});
```
2. wx.onOpen() 监听 socket连接打开事件```javascript// 监听 socket 连接打开事件wx.onOpen(function (res) {
console.log('socket 连接打开');
});
```
3. wx.onMessage() 监听 socket消息事件```javascript// 监听 socket 消息事件wx.onMessage(function (res) {
console.log('收到消息:', res.data);
});
```
4. wx.onError() 监听 socket错误事件```javascript// 监听 socket 错误事件wx.onError(function (res) {
console.log('socket 错误');
});
```
5. wx.onClose() 监听 socket关闭事件```javascript// 监听 socket 关闭事件wx.onClose(function (res) {
console.log('socket 关闭');
});
```
6. wx.send() 发送消息到 WebSocket服务端```javascript// 发送消息到 WebSocket服务端wx.send({
data: 'Hello, WebSocket!',
success: function () {
console.log('消息发送成功');
},
fail: function () {
console.log('消息发送失败');
}
});
```
7. wx.close() 关闭 socket连接```javascript// 关闭 socket 连接wx.close({
success: function () {
console.log('socket 关闭成功');
},
fail: function () {
console.log('socket 关闭失败');
}
});
```
以上就是微信小程序 WebSocket 使用案例的详细描述。希望通过这些示例,可以帮助你更好地理解和使用 WebSocket 在微信小程序中的应用。
小程序微信小程序websocket小程序WebSocket使用案例