السلام عليكم و رحمة الله و بركاته
أتمنى عليكم شرح الفرق بين إستخدام نظام TCPListener و نظام socket في برنامج VB.Net
و لم في VB.Net 2005 من خلال إستخدامي لنظام TCPListener عندما أشغّل برنامج السيرفر و برنامج الكليانت في two different projects
يحصل network address error علما أن السيرفر يعمل بنظام thread ليستقبل مجموعة من كلايننتس
و عندما أشغل كلّ واحد على حدة يعمل بشكل عاديّ
و أيضا عندما أفتح برنامج السيرفر في بروجكت و الكليانت من دون بروجكت تحدث نفس المشكلة الأولى أما في vb.net 2003 فلا شئ من هذا القبيل
و يعطيني هذا الإكسبشن في الحالة الأولى التي ذكرت علماً بأن البرنامج صمم في بادئه على VB.Net 2003 و كان يعمل بشكل طبيعي عند فتح 2 projects
للعمل:
System.AccessViolationException was unhandled
Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Source="System"
StackTrace:
at System.Net.UnsafeNclNativeMethods.OSSOCK.WSAGetOverlappedResult(SafeCloseSocket socketHandle, IntPtr overlapped, UInt32& bytesTransferred, Boolean wait, IntPtr ignored)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)