عفوا نسيت لأوضح شيء
الموقع الأجنبي حاط مثال بـ C# وانا حولته للـ VB.Net
لاني أستخدم VB.Net
التحويل مافيه إي مشاكل
المثال بعد ماقمت بتجربته وتحويله إلى VB.Net موجود بالمرفق
أبي حل للمشكله حتى لو كان الحل بلغة C# عادي ولاكن الأفضل يكون vb.Net
وشكرا
[COLOR="#B22222"]السلام عليكم
وفقك الله ان شاءالله سأقوم برفع مثال في نفس الموضوع الان
بارك الله فيك[/COLOR]
قمت بقراءة الكود والتعني عليه
ومن ثم حولته إلى VB.Net وإلى هنا أوك
ولاكن عند الإرسال تظهر رسالة تفيد بإن تم وصول البيانات
ولا وصل بيانات ولا شيء :confused:
وكأنه يتخطى جميع البيانات ومن ثم يصل إلى كود عرض الرسالة
قمت برفق المثال إللي سويته من موضوعك بعد ما حولته إلى Vb.Net
أرجوا الإطلاع عليه
ظهرت أخطاء كثيره
ياليت ترفق لي المثال إللي أشتغل معك حتى أطلع عليه
السلام عليكم
اخي العزيز لقد ارفقت المثال بلغة الvb للمرسل والمستلم في نفس الموضوع في قسم مفالات السي شارب
أولا: أحب أن أهنئك على المثال الخطير بالفعل أشتغل 100%
وأحب إيضا أن أشكركـ على متابعه الموضوع والمساعدة
ثانيا: أنا فعلا شغلته وأشتغل معي 100% ولاكن يوجد بعض الحواجز الذي واجهتها ألا وهي:
1- أعطيتني ملف DLL وفيه الأجراءات وانا بحاجه للملف لأرى طريقة التحويل من أهم الأجزاء قمت بوضعه في ملف مغلق

2- هذا المثال يقتضي على تحويل حسب ما قرأته بموضوعك على قطعه قطعه إي يقوم بتحويل ID وبعدين يقوم بتحويل Name وهكذا
طيب لنفرض ان لدي مصفوفه لامحدوده وقمت بإرسالها أو قمت بإرسال صوره أو قمت بإرسال متغير أو ثابت بغض النظر على نوعه هنا سأقوم بوضع لكل شيء إجراء
ولاكن يوجد لدي فكره بسيطه وواجهتني مشكله إيضا بسيطه أبسط من حجم الفكره إلا وهي تحويل Object بذاته إلى بينري وأستقبال بينري وأرجاعه إلى Object بغض النظر عن نوع Object الآتي
هو مصفوفه أم صوره أم متغير أم ثابت إلخ..
يوجد لدي إجراءان الأول تحويل Object إلى Byte
C#
PHP كود :
private byte[] ObjectToByteArray(Object obj)
{
if(obj == null)
return null;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, obj);
return ms.ToArray();
}
VB
PHP كود :
Private Function ObjectToByteArray(obj As [Object]) As Byte()
If obj Is Nothing Then
Return Nothing
End If
Dim bf As New BinaryFormatter()
Dim ms As New MemoryStream()
bf.Serialize(ms, obj)
Return ms.ToArray()
End Function
الثاني يقوم بعكس العملية يحول من Byte إلى Object
C#
PHP كود :
private Object ByteArrayToObject(byte[] arrBytes)
{
MemoryStream memStream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
memStream.Write(arrBytes, 0, arrBytes.Length);
memStream.Seek(0, SeekOrigin.Begin);
Object obj = (Object) binForm.Deserialize(memStream);
return obj;
}
VB
PHP كود :
Private Function ByteArrayToObject(arrBytes As Byte()) As [Object]
Dim memStream As New MemoryStream()
Dim binForm As New BinaryFormatter()
memStream.Write(arrBytes, 0, arrBytes.Length)
memStream.Seek(0, SeekOrigin.Begin)
Dim obj As [Object] = DirectCast(binForm.Deserialize(memStream), [Object])
Return obj
End Function
إلى هنا جميل جدا
قمت بتجربة الكود وشغال 100% أنظر إلى تجربتي
حلو تم العمليه بدون إي مشاكل
الأن المطلوب هذي العمليه إدخالها في برنامج الأرسال
أبي أرسل B الذي هو نوعه Byte
وأبي أستقبل B الذي هو نوعه Byte
فقط لا غير ..
في مثالك السابق لايقبل الإرسال إلى من نوع Object وانا أبي ارسل من نوع Byte
وأبي أستقبل من نوع Byte حتى أستطيع إدخالها في إجراءاتي التي طبقتها في السابقه وبدون إي مشاكل
إذا كنت تتسائل عن إستخدامي لهذي الطريقه فالجواب لان هذي الطريقه تضمن لي بإرسال صوت - صوره - فيديو - ملف - مصفوفه - مصفوفه ثنائيه - متغير أو ثابت بشتا انواعها إلخ.. وكل هذا بكود واحد دون اللجوا لعدت أكواد