Vaper로 웹소켓을 사용하는 채팅 앱을 제작한다.
이번에는 Vaper에서 웹소켓을 사용해 간단한 채팅 앱을 만들었다.
공식Vapor WebSocket
Vapor 프로젝트를 만듭니다.
$ vapor new websocketTest
$ cd websocketTest
$ vapor -y xcode // 必要あれば
$ vapor build
$ vapor run
configure.swift
속성에 WebSocket을 저장하는 배열을 만듭니다.configure.swift
var websocketClients: Dictionary<String, [WebSocket]> = [:]
configure
WebSocketServer의 설정을 메서드에 기술합니다.localhost:8080/socket/xxxx
는 (xxxx는 방의 이름)에 보내는 문자열을 같은 방 연결 중인 고객에게 전달합니다.configure.swift
// WebSockets
let wss = NIOWebSocketServer.default()
wss.get("socket", String.parameter) { ws, req in
let room = try req.parameters.next(String.self)
if websocketClients[room] == nil {
websocketClients[room] = []
} else {
websocketClients[room] = websocketClients[room]!.filter({
!$0.isClosed
})
}
websocketClients[room]!.append(ws)
ws.onText { ws, text in
for client in websocketClients[room]! {
if !client.isClosed {
if ws === client {
print("slip sender")
} else {
client.send(text)
}
}
}
}
}
services.register(wss, as: WebSocketServer.self)
wsta라는 WebSocket 클라이언트를 사용하여 디버깅을 수행했습니다. wsta : A CLI development tool for WebSocket APIs
설치 방법
$ brew tap esphen/wsta https://github.com/esphen/wsta.git
$ brew install wsta
산토스와 다구 3인조의 조개껍질을 통해 카비곤이라는 방을 방문한다.다그 3인조의 케이스에서 보낸 문자열이 세인트 데스의 케이스에 표시됩니다.$ wsta ws://localhost:8080/socket/kabigon
Reference
이 문제에 관하여(Vaper로 웹소켓을 사용하는 채팅 앱을 제작한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takoikatakotako/items/543458823e67dfdde881텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)