בעיית תקשורת בויסטה

VIMES

New member
בעיית תקשורת בויסטה

אני כותב תוכנה שאמורה לרוץ על XP וגם על ויסטה. חלק מהקוד בתוכנה שולח שולח הודעות UDP למכשירים ברשת (לא מחשבי PC). תוכן ההודעות הינו טקסט רגיל המייצג ספרות הקסנומריות. דוגמת תוכן נראית ככה: 005A012C43CC000000000030 וכן הלאה. (כל שתי אותיות 00, 5A מיצגות בייט אחד במסר המקורי - אורך הטקסט הוא מספר זוגי) בשליחת הודעה ממחשב שמריץ XP אין שום בעיה. כל תוכן ההודעה מגיע ליעד ומפוענח בצורה נכונה. הבעיה היא בשליחת ההודעות על מחשב שמריץ ויסטה. הטקסט המקורי לא מגיע בצורה שלמה ואורך ההודעה שונה. לדוגמה הודעה מסוימת שיוצאת מה XP אורכה 162 בייטים אבל נשלחת מויסטה באורך 136 בייטים. מבדיקת ה packet שנשלח ברשת (באמצעות wireshark) אנו רואים שמסר שנשלח מ XP מכיל את כל תוכן ההודעה ואילו מסר שנשלח מויסטה אינו מכיל את כל הטקסט. אנחנו משתמשים ב IPv4 על XP ורוצים להשתמש רק ב IPv4 על הויסטה, כיוון שהמכשירים איתם אנו מתקשרים לא תומכים (או יתמכו) ב IPv6.
Dim GLOIP As IPAddress Dim GLOINTPORT As Integer Dim bytCommand As Byte() = New Byte() {} Dim udpClient As New UdpClient(Sockets.AddressFamily.InterNetwork) GLOIP = IPAddress.Parse(IPstr) 'the destination ip GLOINTPORT = Port 'the destination port udpClient.Connect(GLOIP, GLOINTPORT) bytCommand = Encoding.ASCII.GetBytes(msg) 'msg is our hex string message: udpClient.Send(bytCommand, bytCommand.Length)​
התופעה קיימת גם כאשר הפיירוול כבוי וגם כאשרIPV6 מבוטל מה שמניע אותי לחשוד בהבדל בין XP לVISTA (שוב הבדל בתוכן ובמבנה) אשמח אם מישהו יוכל לסייע
 
למעלה