socket שמתנתק

spheonx

New member
socket שמתנתק

התחלתי בשעה טובה לעבוד עם sockets אסינכרוניים אני עובד עם הפונקציות .beginreceive ו endreceive הבעיה היא שברגע ששמתי beginreceive ויש ניתוק של הלקוח מצידו (ולא השרת שלי שמנתק אותו) כאילו הפונקציה שבon connect רצה מיליון פעם בלי לעצור לדעתי הבעיה היא שברגע שהsocket נסגר מתרחש פשוט beginreceive וישר endreceive ואז אני מפעיל אוטומטית שוב את הbeginreceive וחוזר חלילה אני מנסה לראות את מצב הconnected לפני הbeginreceive והוא תמיד מראה TRUE לא מצאתי בMSDN תיעוד על ניתוק מרחוק של socket, מישהו התנסה ויוכל לעזור?
 

Zeliran

New member
......

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

spheonx

New member
בדיוק, אבל לא עובד

יצרתי סנריו כזה משלי, התחברתי עם TELNET לוקאלית לפורט וניתקתי באגרסיביות מצד הTELNET בלי סגירת הסוקט בC# הוא פשוט נתקע ויצר את המצב שתיארתי, לופ איןסופי בין ה beginreceive ל endreceive
 

דאלילמה

New member
תנסה אולי

אני מקווה שאני מבין את התסריט שלך. תנסה לעשות ניתוק כך: socket.Shutdown(SocketShutdown.Both) socket.Close() socket= Nothing אני חושב שזה אמור גם לסגור את הצד השני של הסוקט.
 

spheonx

New member
תודה על נסיון העזרה

אבל אני חושש שלא ירדת לסוף דעתי אני מנסה לאבחן סגירה של הסוק מרחוק אין לי בעיה עם הסגירה המקומית
 
למעלה