Droplet WebSockets
使用Droplet
創(chuàng)建WebSocket
服務(wù)器很簡單。 WebSockets
通過將HTTP
請求升級到WebSocket
連接來工作龙助。
因此砰奕,你應(yīng)該使用WebSocket服務(wù)器駐留的URL。 下面提鸟,我們使用 /ws
作為案例军援。
import Vapor
let drop = Droplet()
drop.socket("ws") { req, ws in
print("New WebSocket connected: \(ws)")
// ping the socket to keep it open
try background {
while ws.state == .open {
try? ws.ping()
drop.console.wait(seconds: 10) // every 10 seconds
}
}
ws.onText = { ws, text in
print("Text received: \(text)")
// reverse the characters and send back
let rev = String(text.characters.reversed())
try ws.send(rev)
}
ws.onClose = { ws, code, reason, clean in
print("Closed.")
}
}
drop.run()
鏈接 WebSocket
的客戶端可以通過打開ws://<ip>/ws
來進(jìn)行連接。
下面是JavaScript
寫的客戶端方法:
var ws = new WebSocket("ws://0.0.0.0:8080/ws")
ws.onmessage = function(msg) {
console.log(msg)
}
ws.onopen = function(event) {
ws.send("test")
}