{"id":20181393,"url":"https://github.com/ac000/websocket_demo","last_synced_at":"2026-06-04T22:30:54.081Z","repository":{"id":14445323,"uuid":"17156888","full_name":"ac000/websocket_demo","owner":"ac000","description":"A demo of WebSockets in C","archived":false,"fork":false,"pushed_at":"2022-05-01T20:16:53.000Z","size":56,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-10T06:26:18.372Z","etag":null,"topics":["c","websocket","websocket-protocol","websocket-server","websockets"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ac000.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-25T01:12:39.000Z","updated_at":"2022-05-01T20:16:56.000Z","dependencies_parsed_at":"2022-09-10T20:25:01.444Z","dependency_job_id":null,"html_url":"https://github.com/ac000/websocket_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ac000/websocket_demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ac000%2Fwebsocket_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ac000%2Fwebsocket_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ac000%2Fwebsocket_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ac000%2Fwebsocket_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ac000","download_url":"https://codeload.github.com/ac000/websocket_demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ac000%2Fwebsocket_demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33923173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","websocket","websocket-protocol","websocket-server","websockets"],"created_at":"2024-11-14T02:35:24.327Z","updated_at":"2026-06-04T22:30:54.069Z","avatar_url":"https://github.com/ac000.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is a simple demonstration of WebSockets in C. It simply consists of a\nserver and a HTML page.\n\nAfter it gets a connection, every two seconds (default) it will send\nthe hostname, uptime and rx \u0026 tx bytes of the system running the server\n(can be the same as the client).\n\nBuild the server (make), run it (non-root), then load the HTML page\ninto a browser. You should then see a simple page showing the above\ninformation updating every two seconds. Change the interface to show\nstats for and adjust the frequency of updates using the 'spinner' widget.\n\nReally simple, just shows the basics of what's needed for two way\ncommunications.\n\nThe WebSocket protocol is defined here: http://tools.ietf.org/html/rfc6455\n\nIt also demonstrates the use of epoll(7) to handle multiple connections\nin a single process.\n\nIt will also make use of libseccomp (if installed) to constrain what system\ncalls can be used once up and running. This really just serves as a\ndemonstration.\n\nIt also implements WebSockets over TLS (wss://), this can be enabled by\npassing 'tls' to the websocket_demo command. And by using\nwss://localhost:1976/ as the websocket connection string in\nwebsocket_demo.html\n\nYou will also need a TLS certificate and key (can be self made, required\nsome faffing about in Firefox to get it to work) and specify them in the\nthe TLS_CERT \u0026 TLS_KEY variables in websocket_demo.c\n\nLicensed under the MIT license, see MIT-LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fac000%2Fwebsocket_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fac000%2Fwebsocket_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fac000%2Fwebsocket_demo/lists"}