עבור לתוכן

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

Featured Replies

  • תגובות 31
  • צפיות 3.4k
  • נוצר
  • תגובה אחרונה
פורסם

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

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

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

פורסם

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

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

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

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

פורסם
  • מחבר

התכנית מסתיימת- נסגרת ללא אזהרה.

פורסם

מוזר. כמו שאמרתי, השרת אמור להדפיס send failed או Bytes sent...

את יכולה להריץ את הקוד במצב debug בשביל לראות בדיוק איזה שורות מתבצעות?

פורסם
  • מחבר

הרצתי- הלקוח נתקע למלא זמן בשורה 66 ובינתיים - השרת שלא קיבל שומדבר סוגר את ההתקשרות בשורה 60.

פורסם

בשורה 60 השרת לא סוגר את התקשורת, הוא רק מדפיס שהלקוח סגר את התקשורת.

את יכולה להעלות את הקבצים אחרי השינויים שעשית בהם?

פורסם
  • מחבר

כמעט ולא ערכתי שינויים (חוץ מלמחוק את השורות שבודקות שהתכנית קבלה פרמטר).

[attachment deleted by admin]

פורסם

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

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

פורסם
  • מחבר

בשורה 28 במשתנה argv[1] שמתי את מספר הIP של המחשב של השרת.

בקוד של השרת לא ערכתי שום שינוי.

פורסם
  • מחבר

למה אחרי ביצוע הלולאה לקבלת/שליחת מידע- פעם אחת, המשתנה iResullt הופף להיות 0 אצל השרת ? מה גורם לכך?

פורסם

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

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

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

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

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

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

פורסם
  • מחבר

איפה האופציה שלי (של הלקוח) לשלוח עוד נתונים לשרת בכלל?

(בזמן הרצת התכנית- אין לי שום אפשרות לרשום דברים על המסך)

פורסם

כבר שאלתי את זה קודם ולא ענית לי - את יודעת מה התוכנה אמורה לעשות?

פורסם
  • מחבר

מסתבר שלא.

אז מה התכנית עושה?

ארכיון

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

דיונים חדשים