לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 26-09-2010, 03:53
  Dragonion Dragonion אינו מחובר  
 
חבר מתאריך: 22.08.08
הודעות: 310
בעיות לא ברורות בnetworking

הכנתי לעצמי סרבר מאוד בסיסי של HTTP לפני הרבה מאוד זמן בעזרת WinSock.
הוא עשה לי אז ים בעיות של התחברות - לפעמים פעל, לפעמים לא. לפעמים הראה תמונות כמו שצריך, לפעמים לא.
בסוף העברתי את הפונקציות שלי לשליחת קבצים (מעבר לטקסט פשוט) לפונקצייה TransmitFile של Windows וזה פעל יחסית בסדר (עדיין היו בעיות פה ושם).

עכשיו אני מנסה להכין מחדש סרבר קטן בעזרת SDL, ואני רוצה אותו portable ככה שTransmitFile לא בא בחשבון.
הקוד שלי פועל 100%, או לפחות ככה הוא טוען. מבחינת הsockets שלי, כל המידע נשלח פיקס, הכל פועל מצוין.
באופן ריאליסטי, אני בעצמי אפילו לא מקבל את התמונות והקבצים שהתוכנית טוענת שהיא שולחת, וגם אנשים אחרים לא. פתאום בא מישהו ואמר שדווקא לו התמונות פועלות מצוין, אבל כשהוא מנסה להוריד משהו זה מוריד על 20 בתים לשנייה (כאשר התוכנית טוענת שה20 קילו בייתים המסכנים נשלחו מיד, כמובן).

מה לעזאזל הסיפור כאן?
ולמה עם כל שורה מסכנה שאני מוסיף מתווצרות עוד 20 בעיות?

אני מניח שאף אחד לא רוצה להסתכל על קוד ארוך ולא מסודר, אז הנה פונקציית השליחה של קבצים בינאריים במקום (לא משהו מסובך במיוחד...)
קוד PHP:
 int Socket::send (voiddata, const int bytes)
{
    
int sent SDLNet_TCP_Send(sdatabytes);

    while (
sent bytes)
    {
        
sent += SDLNet_TCP_Send(sdata sentbytes sent);
    }

    return 
sent;



עריכה: והנה מה שאני שולח לקבצים בינאריים
קוד PHP:
 HTTP/1.1 200 OK
Connection
keep-alive
Content
-typeapplication/octet-stream
Accept
-Rangesbytes
Content
-LengthX

Content
... 

את
image/jpg
כבר ניסיתי, הוא מלכתחילה לא פעל אף פעם.

נערך לאחרונה ע"י Dragonion בתאריך 26-09-2010 בשעה 03:56.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 19:39

הדף נוצר ב 0.06 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר