ABA


"יש לי בעיה עם קבלת/שליחת מידע ברשת בתוכנה שבניתי....."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11619 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11619
Ryu
חבר מתאריך 31.8.03
2821 הודעות
   08:53   02.01.05   
אל הפורום  
  יש לי בעיה עם קבלת/שליחת מידע ברשת בתוכנה שבניתי.....  
 
   ערכתי לאחרונה בתאריך 02.01.05 בשעה 08:55 בברכה, Ryu
 
בניתי צ'אט רב משתמשים
http://www.pastebin.com/193482
ואם זה נמחק אז: http://nomorepasting.com/paste.php?pasteID=28225
מי שרוצה לקמפל שיכנס ללינק השני ילחץ על הלינק שאומר להראות את הקוד בלי מספור. ויעתיק תקוד.

עכשיו לעיניינינו, בדקתי את התוכנה על המחשב שלי (כמובן פתחתי תתוכנה אצלי והאזנתי, פתחתי עוד חלון של התוכנה והתחברתי ל127.0.0.1).
וזה עבד מצויין כל השליחה והקבלה מתבצעת כראוי.

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


OurNick: Message
RemoteNick: Message

וככה הלאה.. והמצב הזה עבד כשהתחברתי לעצמי.
אבל כשהתחברתי למחשב אחר אז מה שקרה זה ככה:

OurNick: Message
Message
:

ז"א כשהמחשב המרוחק שלח אלי הודעה אז במקום שאני אראה את זה ככה:
RemoteNick: Message
אז ההודעה נכנסה למשתנה ששומר את הניק במקום למשתנה ששומר תהודעה.
ואז זה מדפיס קודם את ההודעה במקום את הניק.. עכשיו ההודעה מלוות באנטר כמובן, אז הנקודותיים שהיו אמורות להיות צמודות לניק יהיה בשורה חדשה עקב האנטר של ההודעה. ובמקום ההודעה לא מודפס כלום.
מבינים? קשה להבין את זה צריך להריץ ולהבין...

אבל בת'כלס הבעיה היא שעם 2 מחשבים מרוחקים יש בעיה עם קבלת המידע ושליחתו.. אין בניהם התאמה או משהו כזה...

תודה רבה לכל מי שיכול לעזור..
מי שלא הבין משהו שישאל.


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

תודה.

:D:D:D:D:D::D


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תעלה לינק מקומפל אני יבדוק the one64 02.01.05 19:37 1
  לדעתי זה בגלל שלא הגדרת פרוטוקול hll 05.01.05 00:42 2

       
the one64
חבר מתאריך 13.4.04
44361 הודעות
   19:37   02.01.05   
אל הפורום  
  1. תעלה לינק מקומפל אני יבדוק  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
hll

   00:42   05.01.05   
אל הפורום  
  2. לדעתי זה בגלל שלא הגדרת פרוטוקול  
בתגובה להודעה מספר 0
 
   שים לב אין לך שום דרך לדעת איך המידע מתחלק ברשת
תלוי בגודל החבילות וכו'
מה שאתה צריך לעשות זה להגדיר לתוכנית שלך פרוטוקול
כלומר
להגיד שבתחילת כל תשדורת המחשב המשדר ישלח לדוגמא תו מיוחד 0x01 ובסיום התשדורת ישלח שוב את אותו תו 0x02 או תו אפילו אותו תו (0x01; אתה יכול גם נגיד לדוגמא לשים את גודל התשדורת בהתחלה זה גם דוגמא לפרוטוקול)...
כלומר, הrecv שלך יצטרך להתחיל כאשר הוא מקבל 0x01 ואז להכנס ללולאה עד שהוא מקבל באחד התווים 0x02...

אגב
לא יזיק לך להוסיף הערות...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net