# 概述

websocket 为一种常连接形式,可在设备间建立管道通信

websocket 分为 “服务端” 和 “客户端” ,多个客户端可以连接同一个服务端

websocket 必须运行在子线程中

案例下载,nsp文件需要在创建界面导入 (opens new window)

# websocket服务端

案例:

-- 创建一个webSocket 服务器端 参数为(创建的端口)
s = webSocketServer(1123);

-- 当服务器 开始运行 回调
s:onStart(function()
    print('s -start')
end);

-- 当服务器 打开 回调
s:onOpen(function(con)
    print("s - open")
    -- 发送信息 给客户端
    con:send("12333");
end);

-- 当服务器 收到客户端 发来的消息时 回调   
s:onMessage(function(con,msg)
    -- con:client 端对象
    -- msg:收到的消息
    print('s - message')
end);

s:start();

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# websocket 客户端

案例:

--这是 一个 webSocket - 客户端

-- 创建一个 连接 【参数为server 端的连接地址,(ws:+ip:端口)组成】
client = webSocketClient("ws://127.0.0.1:1123");

-- 当连接打开回调
client:onOpen(function()
    print("c - onOpen")
end)

-- 当连接打错误回掉
client:onError(function(msg)
    print("c- error "..msg:getLocalizedMessage());
end)

-- 当客户端收到服务器发来的消息
client:onMessage(function(msg)
    print("c "..msg)
end)

client:connect();


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23