Skip to content

Latest commit

 

History

History
113 lines (82 loc) · 2.72 KB

intro.mdx

File metadata and controls

113 lines (82 loc) · 2.72 KB
sidebar_position
1

import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem";

Getting started

Let's start sending and recieving data!

Instaling

Prerequisites

  • Node.js version 18.0.0 or above:
    • When installing Node.js, you are recommended to check all checkboxes related to dependencies.

Downloading

npm i zilaws-server@latest
npm i zilaws-client@latest

Starting the server

In ZilaWS 1.0, you can run multiple servers in the same application. You can start by initializing a server instance and storing it in a variable.

import { ZilaServer } from "zilaws-server";

const server = new ZilaServer({
  port: 6589,
  logger: true, //Enables logging
  verbose: true //Enables verbose logging
});
const { ZilaServer } = require("zilaws-server");

const server = new ZilaServer({
  port: 6589,
  logger: true, //Enables logging
  verbose: true //Enables verbose logging
});

Connecting to the server

Connecting to the server is asynchronous. The first parameter is a standard websocket connection URL string. The second parameter of the connectTo function is optional. It is a callback which gets called when a problem or error happens.

```ts import { connectTo } from "zilaws-client";

const client = await connectTo("wss://yourhost.com:6589", (reason?: string) => { console.error("ZilaConnection error happened:\n" + reason); });

  </TabItem>
  <TabItem value="cts" label="CommonJS">
```ts
const { connectTo } = require("zilaws-client");

const client = await connectTo("wss://yourhost.com:6589", (reason?: string) => {
  console.error("ZilaConnection error happened:\n" + reason);
});

Recieving data from the client side

In order to recieve data from the client side, you need to register a MessageHandler. A MessageHandler has an identifier and a callback with any number of any typed parameters. The callback gets called when a client asks for it. The data recieved from the client will be passed as parameters.

server.setMessageHandler("serverSample", (socket, text: string) => {
  //Do your magic
  return text + " Success!";
});

Using waiters

ZilaWS lets you use async waiters to excute callbacks on the on the other side of the connection and retrieve data.

const data = await client.waiter("serverSample", "Success? ") as string;
console.log(data); //Success? Success!