{"id":23055292,"url":"https://github.com/rodionz/chat-application","last_synced_at":"2026-05-02T19:33:49.328Z","repository":{"id":102659498,"uuid":"60337481","full_name":"rodionz/Chat-Application","owner":"rodionz","description":"Chat-App for John Bryce .Net Course - advanced C# module(using winforms and TCP protocol)","archived":false,"fork":false,"pushed_at":"2016-12-10T11:01:32.000Z","size":665,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T05:16:58.697Z","etag":null,"topics":["c-sharp","csharp","multithreading","tcp-client","tcp-server","winforms"],"latest_commit_sha":null,"homepage":"","language":"C#","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/rodionz.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":"2016-06-03T09:49:38.000Z","updated_at":"2018-01-19T07:50:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"15e9a2a6-8ef5-4337-b344-5f03bf1a9edd","html_url":"https://github.com/rodionz/Chat-Application","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rodionz/Chat-Application","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodionz%2FChat-Application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodionz%2FChat-Application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodionz%2FChat-Application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodionz%2FChat-Application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rodionz","download_url":"https://codeload.github.com/rodionz/Chat-Application/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodionz%2FChat-Application/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32547647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T19:18:06.202Z","status":"ssl_error","status_checked_at":"2026-05-02T19:16:21.335Z","response_time":132,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-sharp","csharp","multithreading","tcp-client","tcp-server","winforms"],"created_at":"2024-12-16T01:11:33.306Z","updated_at":"2026-05-02T19:33:49.314Z","avatar_url":"https://github.com/rodionz.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv direction=\"rtl\"\u003e\nפרויקט פיתוח מונחה עצמים + תשתיות .net ב- #C – חובת הגשה עם ציון\nתאריך הגשה – 7/9/2015\n\nסוג הפרויקט: WinForms Application, Class Libraries.\nהדרישה: אפליקציית צ'אט בין מחשבים.\nידע נדרש: \n•\tDelegates \u0026 Events\n•\tעבודה עם TCP בעזרת המחלקות: TcpClient, TcpListener\n•\tSerialization\n•\tThreading\n•\tעבודה עם טפסים\n\nכיצד האפליקציה תעבוד?\nבמערכת תהיה אפליקציה אשר תותקן אצל משתמש המעוניין להשתתף בצ'אט ולשוחח עם משתמשים אחרים ברשת. לאפליקציה זו נקרא \"צד הלקוח”. בעזרת אפליקציית הלקוח המשתמש יוכל לשלוח הודעות לשאר המשתתפים בצ'אט ולקבל מהם הודעות בחזרה.\n \nכיצד אפליקציית צד הלקוח מתקשרת עם מחשבים אחרים ? (שולחת ומקבל הודעות)\nאפליקציית צד הלקוח לא יכולה לדעת אילו משתמשים נוספים קיימים ברשת (מה כתובת ה- IP שלהם) אשר משתתפים בצ'אט. כאשר אנו רוצים לשלוח הודעה שתגיע לכל המשתתפים, במקום לשלוח את ההודעה לכל המשתתפים (אנחנו הרי לא יודעים מי בכל זמן נתון מחובר לצ'אט) יהיה נבון אם נצור \"מוקד\" הודעות, אליו נשלח את ההודעה והוא יפיץ את ההודעה שלנו לשאר המשתתפים. על המוקד כמובן לדעת בכל זמן נתון מי כרגע מחובר לצ'אט. כאן נכנסת אפליקציית \"צד השרת\".\n\nכיצד תעבוד אפליקציית \"צד השרת\"?\nיש לכתוב אפליקציה נוספת (צד השרת) שתהווה את מוקד ההודעות. כל משתתף בצ'אט יצטרך להתחבר לשרת ולתקשר מולו. כלומר, נשלח את ההודעות שלנו לשרת, אשר יפיץ אותן לכל שאר המשתתפים, ובחזרה נקבל ממנו את ההודעות שמשתתפים אחרים שלחו דרכו אלינו.\n\nפונקציונאליות:\nצד הלקוח\n•\tהאפליקציה תאפשר למשתמש לבחור:\no\tכתובת ה- IP ומספר ה- Port של המחשב המריץ את אפליקציית השרת.\no\tשם משתמש (כינוי), בכדי שמשתמשים אחרים ידעו ממי הם קיבלו את ההודעה.\no\tצבע הגופן, כך שהודעות ממשתתף מסוים יופיעו בצבע שהוא בחר – יש להשתמש ב-Color\n•\tהאפליקציה תאפשר למשתמש להקליד הודעה ולשלוח אותה לשרת.\n•\tהאפליקציה תציג את כל ההודעות שהשרת שולח למשתמש.\n•\tאפשרות להתנתק ולהתחבר שוב לצ'אט.\n\nאתגר :\nמערכת צד הלקוח תאפשר משלוח הודעות פרטיות בין משתמשים על ידי שימוש בשם הלקוח שאליו מיועדת ההודעה.\n\n\nצד השרת\n•\tהאפליקציה תאפשר למפעיל תוכנת השרת לבחור את כתובת ה- IP ומספר ה- Port של המחשב המריץ את אפליקציית השרת.\n•\tבצד השרת יהיה ניתן לראות את שמות כל המשתתפים בצ'אט בכל רגע נתון, בנוסף יהיה ניתן לצפות בהיסטוריה של פעילות ההתחברות וההתנתקות בצ'אט – לכל פריט בהיסטוריה יש לפרט: (1) מה הפעולה (התחברות או התנתקות) (2) מתי (3) מי.\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodionz%2Fchat-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frodionz%2Fchat-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodionz%2Fchat-application/lists"}