static PyObject *libwebsockpy_run(PyObject *self, PyObject *args) { char *port; if(!PyArg_ParseTuple(args, "s", &port)) { return NULL; } libwebsock_bind(ws_ctx, "0.0.0.0", port); ws_ctx->onopen = ws_onopen; ws_ctx->onclose = ws_onclose; ws_ctx->onmessage = ws_onmessage; ws_ctx->onpong = ws_onpong; libwebsock_wait(ws_ctx); //Run loop Py_INCREF(Py_None); return Py_None; }
int main(int argc, char *argv[]) { libwebsock_context *ctx = NULL; if(argc != 2) { fprintf(stderr, "Usage: %s <port to listen on>\n\nNote: You must be root to bind to port below 1024\n", argv[0]); exit(0); } ctx = libwebsock_init(); if(ctx == NULL) { fprintf(stderr, "Error during libwebsock_init.\n"); exit(1); } libwebsock_bind(ctx, "0.0.0.0", argv[1]); fprintf(stderr, "libwebsock listening on port %s\n", argv[1]); ctx->onmessage = onmessage; ctx->onopen = onopen; ctx->onclose = onclose; libwebsock_wait(ctx); //perform any cleanup here. fprintf(stderr, "Exiting.\n"); return 0; }