++C שרת-לקוח, קוד: - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

++C שרת-לקוח, קוד:


ה*לה

Recommended Posts

  • תגובות 31
  • נוצר
  • תגובה אחרונה

זה בסדר, ההודעה באורך 14 היא:

char *sendbuf = "this is a test\0";

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

קישור לתוכן
שתף באתרים אחרים

exercise, התכנית בכל זאת לא עושה מה שהיא אמורה לעשות.

השרת אמור לשלוח את הבאפר חזרה ללקוח, אבל הלקוח לא מצליח לקבל את זה.

מה שמוזר לי הוא שאחרי שהשרת מדפיס Connection closing, הוא אמור להדפיס send failed או Bytes sent, אבל הוא לא.

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

קישור לתוכן
שתף באתרים אחרים

אני לא מבין, מחקת את השורה שבודקת שהתכנית קיבלה פרמטר, ולא שינית את השורה שבה את משתמשת בפרמטר הזה?? (שורה 28 בתכנית המקורית)

חוץ מזה, עשית שינויים בקוד של השרת?

קישור לתוכן
שתף באתרים אחרים

הפונקציה recv מחזירה אחד משלושה ערכים:

1. אם הפונקציה פעלה וקיבלה נתונים, אז היא מחזירה את מספר הבתים שהתקבלו.

2. אם הצד השני סגר את התקשורת, היא מחזירה 0.

3. אם הייתה שגיאה, היא מחזירה מספר שלילי.

באיטרציה הראשונה של הלולאה, הפונקציה recv קיבלה את המחרוזת שהשרת שלח, ולכן היא מחזירה 14 (אורך המחרוזת).

באיטרציה השנייה, הלקוח סגר את התקשורת, ולכן recv מחזירה 0.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...