{"id":17267464,"url":"https://github.com/technius/tokio-chatserver-example","last_synced_at":"2025-09-03T23:33:57.783Z","repository":{"id":143021383,"uuid":"184192543","full_name":"Technius/tokio-chatserver-example","owner":"Technius","description":"A more involved example of tokio in a concurrent application","archived":false,"fork":false,"pushed_at":"2019-04-30T04:47:09.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T12:24:38.625Z","etag":null,"topics":["channels","chat-server","concurrency","example","futures-rs","rust","tokio-rs"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Technius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-30T04:38:14.000Z","updated_at":"2024-03-23T20:15:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"f59869f8-acdf-4d2f-a3bd-68e29ffab95f","html_url":"https://github.com/Technius/tokio-chatserver-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technius%2Ftokio-chatserver-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technius%2Ftokio-chatserver-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technius%2Ftokio-chatserver-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technius%2Ftokio-chatserver-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Technius","download_url":"https://codeload.github.com/Technius/tokio-chatserver-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245641437,"owners_count":20648644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["channels","chat-server","concurrency","example","futures-rs","rust","tokio-rs"],"created_at":"2024-10-15T08:10:43.780Z","updated_at":"2025-03-26T11:14:10.526Z","avatar_url":"https://github.com/Technius.png","language":"Rust","readme":"# Tokio Chat Server Example\n\nThis is a more involved example of using tokio to write a concurrent\napplication. This chat server demonstrates\n\n* how to handling states in streams and futures\n* how to use data structures that need to be shared between threads (e.g. to\n  keep track of sessions)\n* how to \"broadcast\" to streams\n* how to shutdown a stream early\n\nthe server itself features\n\n* private messages\n* \"commands\"\n\n## How to try it\n\nFirst, open a terminal and compile with `cargo compile`. Then run `cargo run`.\nOpen two more terminals, and in each one, run `netcat localhost 8080`.\n\nYou can \"log in\" by typing a name and pressing \u003ckbd\u003eENTER\u003c/kbd\u003e. Then you can\nsend messages by entering some string and then hitting \u003ckbd\u003eENTER\u003c/kbd\u003e.\n\nIt's also possible to send a \"private message\" to user `\u003cname\u003e` by typing in\n`/msg \u003cname\u003e \u003cmessage\u003e`.\n\n## License\n\nCopyright 2019 Bryan Tan (\"Technius\")\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnius%2Ftokio-chatserver-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechnius%2Ftokio-chatserver-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnius%2Ftokio-chatserver-example/lists"}