puter.peer.serve()Creates a peer server and returns a PuterPeerServer instance. The server will generate an invite code that other clients can use to connect.
On websites, Puter.js may prompt the user to authenticate before creating the peer server.
const server = await puter.peer.serve();
const server = await puter.peer.serve(options);
options (optional)
options is an object with the following properties:
iceServers (RTCIceServer[]) Custom ICE servers (STUN/TURN) to use instead of the Puter-managed relays.forceRelay (boolean) Whether to force connections to route through a relay instead of attempting peer-to-peer (default). Metering charges will increase.A Promise that resolves to a PuterPeerServer instance, which carries the inviteCode to share, the connections map of connected clients, and a connection event fired as each client joins.
<html>
<body>
<script src="https://js.puter.com/v2/"></script>
<script>
(async () => {
const server = await puter.peer.serve();
puter.print(`Invite code: ${server.inviteCode}`);
server.addEventListener('connection', (event) => {
const conn = event.conn;
conn.addEventListener('open', () => {
conn.send('Hello from the server!');
});
conn.addEventListener('message', (msg) => {
puter.print('Client says:', msg.data);
});
});
})();
</script>
</body>
</html>