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 ws
pnpm install @gaman/websocket ws
yarn install @gaman/websocket ws
bun install @gaman/websocket ws
Pemakaian
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>