פורסם 2007 בפברואר 2218 שנים בגדול זה לא חכם לעשות תקשורת ככה, במיוחד בפרוקוטול TCP, בגלל התקורה של יצירת חיבור חדש בכל פעם מחדש (אם אתה רוצה ככה, כבר עדיף UDP).כמו שאמרתי, נסה להריץ NETCAT בין שני הצדדים ולראות אם זה עובד בסדר.מה הפרמטרים שאתה מעביר ל WSAAsyncSelect (אתה משתמש בו רק פעם אחת בקוד ?) האם אתה מטפל גם ב FD_ACCEPT ?הבנתי.. אבל בעיקרון זה לא חכם אבל זו לא אמורה להיות בעיה נכון?אני קורא ל- WSAAsyncSelect בהתחלה לסוקט שמקשיב להתחברות עם FD_Accept|FD_Close ומאוחר יותר אחרי שאני עושה accept אני קורא לזה עבור הסוקט החדש עם FD_Read|FD_Close.
פורסם 2007 בפברואר 2218 שנים WM_Socketהגדרתי אותו :#define WM_Socket WM_USER +1ככה אמרו לי בספר שאני קורא.. ש- WM_User זו ההודעה הכי גבוהה
פורסם 2007 בפברואר 2218 שנים האם בטיפול של FD_CLOSE של הסוקט הלא ראשי! אתה מבטל את ההודעות של הסוקט שיצרת עם קריאה ל WSAAsyncSelect עם 0,0 או קריאה ל closesocket ?
פורסם 2007 בפברואר 2218 שנים תנסה אולי לשים ב FD_CLOSE לולאת RECV עד שהוא מחזיר 0.כמו כן, כאשר אתה מקבל הודעה מ WSAASYNCSELECT הוא שולח בביטים הגבוהים דיווחי שגיאה, אולי תנסה לקרוא אותם גם.
פורסם 2007 בפברואר 2218 שנים מחבר עליתי על הבעיה זה היה פשוט במקום לקבל הודעה מהקליינט ניסית לקבל הודעה מ הSOCKET שמאזין לחיבור ובגלל זה זה לא הצליח לקבל הודעה
פורסם 2007 בפברואר 2218 שנים לא היו הודעות שגיאה בביטים הגבוהים אבל תודות לך פתרתי את הבעיה.כמו שאמרת ב- tcp זה די טיפשי להתחבר כל פעם מחדש מן הסתם... ובטח בגלל האיטיות שבזה זה לא הספיק לשלוח את כל המידע... מה שכן זה מוזר כי בכל זאת הוא פרוטוקול אמין לא כמו udp..הוספתי את זה:static bool isConnectedככה שאני מתחבר רק פעם אחת ועכשיו כל המידע נשלח. נשארה רק הבעיה עם ההתחברות ברשת.. אני אנסה לעבוד עם netcat.תודה רבהעריכה: טוב אני יודע מה הבעיה עם ההתחברות ברשת.. פשוט צריך לקנפג את המחשב השני עם ה- server שיפנה את ההודעות לפורט הספציפי אליו. תודה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.