PracticU

תרגילים על C# - TCP / IP

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מתקדם - #Advanced .NET C › תרגילים על C# - TCP / IP
מילון מושגים:
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
TCP/IP - אוסף הפרוטוקולים שעליו בנוי האינטרנט, המגדיר כיצד נתונים נארזים, מנותבים ומועברים בין מכשירים.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
בינארי - ייצוג מידע בבסיס 2 בעזרת הספרות 0 ו-1. גם קובץ הכולל קוד מכונה ולא טקסט קריא.
DLL - קובץ ספרייה ב-Windows המכיל קוד ופונקציות שתוכנות שונות יכולות לטעון ולהשתמש בהן במשותף.
טופס - אזור בממשק שבו המשתמש מזין נתונים בשדות ושולח אותם, למשל טופס הרשמה או התחברות.
תמונה - קובץ גרפי המוצג על המסך. בהקשר של וירטואליזציה או Docker, תבנית מוכנה שממנה יוצרים מכונה או קונטיינר.

תרגילים על C# - TCP / IP
סט תרגילים לתרגול תקשורת TCP/IP ב-C#, שבו בונים אפליקציות שרת ולקוח ושולחים ביניהן נתונים בכמה צורות.
התרגילים
1. שליחת מערך בתים: שרת Console שמגריל מערך של עשרה בתים, מציג אותו וממתין ללקוח. את המערך שולחים רק בעזרת אובייקט ה-Socket, בלי Network Stream ובלי Serializer. הלקוח מקבל ומציג, ובודקים שהמערכים זהים.
2. שליחת מחרוזת: הפעם מותר להשתמש ב-Network Stream וב-Binary Formatter. השרת שולח מחרוזת שהמשתמש הקליד, הלקוח מציג אותה ושולח אותה בחזרה, והשרת מציג אותה. יש לבדוק שהמחרוזת מוצגת זהה בכל המקומות.
3. אובייקטי OWL: באותו Solution נוצר dll נוסף עם מחלקה OWL שיש לה שם וגיל, וכל אחד משני הפרויקטים מפנה אליו. השרת יוצר שלושה ינשופים, מציג ושולח אותם אחד אחרי השני. הלקוח מציג אותם, מגדיל כל גיל באחד ושולח בחזרה, והשרת מציג שוב.
4. Windows Forms עם טקסטבוקס: הקליינט שולח את תוכן תיבת הטקסט בכל לחיצה על הלחצן, והשרת מציג אותו ב-Label במרכז הטופס. את אובייקטי ה-TCP/IP מגדירים כשדות של הטופס, ואם התוכנית נתקעת משתמשים ב-Threads. כששרת מקבל את המחרוזת end הוא נסגר, וגם הלקוח.
5. שליחת תמונה: הלקוח בוחר תמונה מהדיסק ושולח קודם את גודלה בבתים ואחר כך את כל התמונה כמערך בתים, שנקרא ב-File.ReadAllBytes. השרת מקבל קודם את הגודל, אחר כך בדיוק את מספר הבתים הזה, שומר ב-File.WriteAllBytes ומציג את התמונה בטופס.
בהצלחה בבדיקת כל התרגילים על שרת ולקוח שרצים יחד.
השיעור הבא בקורס: Client-Server Architecture - חלק 1

פרקי ההרצאה: תרגילים על C# - TCP / IP

  1. 00:00

    שליחת מערך בתים עם Socket

  2. 00:52

    שליחת מחרוזת עם NetworkStream

  3. 01:29

    שליחת אובייקטי Owl בין המחשבים

  4. 02:04

    העברת אובייקטים הלוך ושוב

תמלול ההרצאה: תרגילים על C# - TCP / IP

הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים על C# - TCP / IP» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    מגילים בנושא CPIP. צרו קונסול אפליקיישן שנקרא סרבר. צרו מערך של בית עם עשרה ערכים רנדומליים בתוכו, בתוך הסרבר, והציגו אותם על הקונסול.

  2. 00:17

    חכו שלקוח יתחבר. כאשר לקוח יתחבר, שילחו לו את המערך הזה אך ורק בעזרת אובייקט הסוקט, ללא אובייקט נטוורק סטרים וללא אובייקט סריאלייזר.

  3. 00:30

    צרו קונסול אפליקיישן עבור הקליינט. התחברו דרכו לסרבר. קבלו את עשרת הבתים שהסרבר שלח והציגו אותם על המסך. נא לבדוק אם שני המערכים זהים.

  4. 00:42

    אם לא, עליכם לתקן את זה. בנו פרויקט Console Application עבור סרבר. חכו שאיזשהו לקוח יתחבר אליכם. כאשר לקוח יתחבר, שילחו אליו איזושהי סטרינג שהיוזר הכניס בסרבר סייד.

  5. 00:57

    אתם כמובן יכולים לעשות את זה בעזרת ה-Network Stream וה-Binary Formatter. צרו Console Application עבור הקליינט. התחברו דרכו לסרבר.

  6. 01:06

    קבלו מהסרבר את אותה מכרוזת שהסרבר שלח אליכם והציגו אותה על המסך. לאחר מכן שילחו לסרבר בדיוק את אותה מכרוזת. בצד של הסרבר כעת קבלו בחזרה את המכרוזת מהקליינט והציגו אותה על המסך.

  7. 01:22

    האם המכרוזת הזאת מוצגת באופן זהה בכל המקומות? אם לא, תקנו זאת. צרו Console Application עבור סרבר ועוד Console Application עבור הקליינט, כמובן הכל צריך להיות באותו הסלושן.

  8. 01:36

    איגרו dll נוסף באותו הסולושן שיש רפרנס אליו לשני ה-Consol Applications. ב-dll הזה צרו מחלקה שנקראתOWL, ינשוף.

  9. 01:47

    המחלקה הזאת מכילה name השם של הינשוף וגיל הגיל של הינשוף. לאחר מכן בצעו את הלוגיקה הבאה בשני פרויקטי ה-Consol Application שלכם. סרוור יוצר שלושה אובייקטי ינשוף, שלושה ינשופים, ומכניס אליהם כמה ערכים.

  10. 02:06

    לאחר מכן הסרבר מציג את שלושת אובייקטי הינשוף על המסך. לאחר מכן הסרבר שולח את שלושת אובייקטי הינשוף אחד אחרי השני לקליינט.

  11. 02:17

    הקליינט מקבל את שלושת אובייקטי הינשוף, את שלושת הינשופים האלה, מהסרבר. לאחר מכן הקליינט מציג את שלושת אובייקטי הינשוף על הקונסול שלו.

  12. 02:27

    לאחר מכן הקליינט מקדם את הגיל של כל אחד מאובייקטי הינשוף באחד. לאחר מכן הקליינט שולח את שלושת הינשופים אחד אחרי השני לסרבר.

לקורס המלא: קורס תכנות מתקדם ב‑#C ודוט-נט

ההרצאה הקודמת: C# - TCP / IP

ההרצאה הבאה: Client-Server Architecture - חלק 1

הרצאות קשורות מקורסים אחרים

  • תרגילים 1-3
  • מודל TCP/IP - שכבת IP
  • סריקת פורטים - TCP
  • ראיון עבודה - TCP/IP - חלק 1

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס WCF - תקשורת למתקדמים בדוט-נט