http/ws_test.js

67 lines
1.5 KiB
JavaScript
Raw Normal View History

2024-10-15 10:45:04 +08:00
import http from 'apigo.cc/gojs/http'
import console from 'apigo.cc/gojs/console'
function main() { }
function testSync() {
let conn = http.connect("http://127.0.0.1:18001/ws")
conn.write('111')
2024-10-16 18:08:06 +08:00
let r1 = conn.read().data
if (r1 !== 111) {
return r1
2024-10-15 10:45:04 +08:00
}
conn.write(new Uint8Array([0x01, 0x02, 0x03]))
2024-10-16 18:08:06 +08:00
let r2 = conn.read().data
2024-10-15 10:45:04 +08:00
if (r2[0] != 1 || r2[1] != 2 || r2[2] != 3) {
2024-10-16 18:08:06 +08:00
return r2
2024-10-15 10:45:04 +08:00
}
2024-10-16 18:08:06 +08:00
conn.write({ name: 'Tom' })
let r3 = conn.read().data
2024-10-15 10:45:04 +08:00
if (r3.name != 'Tom') {
2024-10-16 18:08:06 +08:00
return r3
2024-10-15 10:45:04 +08:00
}
conn.close()
return true
}
let asyncResult = ''
let asyncConn
function testAsync() {
let conn = http.connect("ws://127.0.0.1:18001/ws", {
pingInterval: 10,
reconnectInterval: 10,
compress: true,
onError: console.error,
onClose: function (code, text) {
console.info("onClose", code, text)
},
onPing: function (data) {
console.info("onPing", data)
},
onPong: function (data) {
console.info("onPong", data)
},
2024-10-16 18:08:06 +08:00
onMessage: function (type, data) {
2024-10-15 10:45:04 +08:00
// console.info("onJSONMessage", data)
asyncResult += data.name
},
})
asyncConn = conn
2024-10-16 18:08:06 +08:00
conn.write({ name: 'Tom1' })
conn.write({ name: 'Tom2' })
conn.write({ name: 'Tom3' })
2024-10-15 10:45:04 +08:00
}
function testAsync2() {
2024-10-16 18:08:06 +08:00
asyncConn.write({ name: 'Tom4' })
asyncConn.write({ name: 'Tom5' })
asyncConn.write({ name: 'Tom6' })
2024-10-15 10:45:04 +08:00
}
function closeAsync() {
asyncConn.close()
}