Websocket
@gaman/websocket adalah plugin resmi yang didedikasikan untuk GamanJS. Plugin ini dibangun di atas library ws.
install
Section titled “install”GamanJS adalah kerangka kerja untuk aplikasi backend, Anda dapat menginstall menggunakan manajer paket favorit Anda:
npm install @gaman/websocket wspnpm install @gaman/websocket wsyarn install @gaman/websocket wsbun install @gaman/websocket wsPemakaian
Section titled “Pemakaian”Upgrade server http kamu pakai @gaman/websocket berikut adalah caranya:
import { WebsocketGateway } from "@gaman/websocket"
defineBootstrap(async (app) => {
const server = await app.mountServer(':3431'). WebsocketGateway.upgrade(server); // upgrade your http});Websocket Handler
Section titled “Websocket Handler”sekarang buat websocket handler kamu memakai composeWebsocket()
import { composeWebsocket } from "@gaman/websocket"
export default composeWebsocket((event) => { Log.info('Client joined: ' + event.clientId);
event.onMessage((msg) => { event.send('your message: ' + msg); })})Add to Route
Section titled “Add to Route”sekarang masukan ChatWebsocket.ts tadi ke route yang kamu inginkan
import { ChatWebsocket } from ".";
export default autoComposeRoutes((route) => { route.ws('/chat', ChatWebsocket);});lalu sambungkan ke ws://localhost:3431/chat
Jika Anda menggunakan wscat, gunakan perintah ini wscat -c ws://localhost:3431/chat lalu ketik pesan dan enter
Client Side
Section titled “Client Side”berikut adalah contoh akses websocket gamanjs dari client side
<script> const socket = new WebSocket('ws://localhost:3431/chat')
socket.onmessage = (event) => { console.log(event.data) // output: 'Client joined: 21515151-client-id' }
</script>