PyMODINIT_FUNC initlibwebsock(void) { PyObject *m; libwebsock_ClientStateType.tp_new = PyType_GenericNew; if(PyType_Ready(&libwebsock_ClientStateType) < 0) { return; } ws_ctx = libwebsock_init(); connected_clients_list = PyList_New(0); m = Py_InitModule("libwebsock", LibwebsockMethods); Py_INCREF(&libwebsock_ClientStateType); PyModule_AddObject(m, "ClientState", (PyObject *)&libwebsock_ClientStateType); }
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; }