מקבל הרבה ECONNREFUSED בחיבור TCP של שרת\לוקח. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מקבל הרבה ECONNREFUSED בחיבור TCP של שרת\לוקח.


Sargon

Recommended Posts

אני כותב משחק עם שרת ולקוח שמתחברים בSOCKETS של TCP.

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

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

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

 

ECONNREFUSED (111)

Connection refused. This error can occur during an attempt to connect a TCP socket. It is reported when a reset or an unexpected SYNC message is received.

 

יש לכם מושג מה צריך לעשות לסוקט של TCP חוץ מclose?  

או אוליי אתם מכירים את השגיאה הזו בהקשר של סוקט של TCP?

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

למה השרת נסגר?

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

אם זה במהלך רגיל של המשחק, אז למה הוא נסגר בכלל? אין סיבה שלא להשאיר חיבור פתוח לכל אורך המשחק.

אם זה בעקבות תקלה אז זה הגיוני שהלקוח יקבל שגיאה.

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

הממ...

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

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

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

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

דרך אגב אני עושה את זה ברשת לוקלית דרך הWIFI עם שני מכשירי אנדרויד.

כלומר שני מכשירי אנדרויד מחוברים לנתב דרך הWIFI ומתקשרים עם הכתובת הIP בקשת המקומית.

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

ארכיון

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

×
  • צור חדש...