-
Notifications
You must be signed in to change notification settings - Fork 6
WebSocket
Yuki Takei edited this page Oct 11, 2016
·
4 revisions
RFC-6455 WebSocket implementation for Slimane.
- Server: https://github.com/slimane-swift/WebSocketServer
- Client: https://github.com/slimane-swift/WebSocketClient
1. Add WebSocketServer to your Package.swift
import PackageDescription
let package = Package(
name: "WebSocketServer",
dependencies: [
.Package(url: "https://github.com/slimane-swift/WebSocketServer.git", majorVersion: 0, minor: 1),
]
)
2. Register WebSocketServer as Your Application's Middleware
import WebSocketServer
import Slimane
let app = Slimane()
let wsServer = WebSocketServer { socket, request in
socket.onText { text in
socket.send(text)
}
}
app.use(wsServer)
try! app.listen()
3. Connect from WebBrowser
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function WebSocketTest()
{
if ("WebSocket" in window)
{
alert("WebSocket is supported by your Browser!");
// Let us open a web socket
var ws = new WebSocket("ws://localhost:3000");
ws.onopen = function()
{
// Web Socket is connected, send data using send()
ws.send("Message to send");
alert("Message is sent...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
alert("Message is received...");
};
ws.onclose = function()
{
// websocket is closed.
alert("Connection is closed...");
};
}
else
{
// The browser doesn't support WebSocket
alert("WebSocket NOT supported by your Browser!");
}
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:WebSocketTest()">Run WebSocket</a>
</div>
</body>
</html>