تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلتين في أرسال بأداة Socket
#10
أولا: أحب أن أهنئك على المثال الخطير بالفعل أشتغل 100%
وأحب إيضا أن أشكركـ على متابعه الموضوع والمساعدة

ثانيا: أنا فعلا شغلته وأشتغل معي 100% ولاكن يوجد بعض الحواجز الذي واجهتها ألا وهي:
1- أعطيتني ملف DLL وفيه الأجراءات وانا بحاجه للملف لأرى طريقة التحويل من أهم الأجزاء قمت بوضعه في ملف مغلق Sad
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(msobj);
    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(msobj)
        Return 
ms.ToArray()
    
End Function 


الثاني يقوم بعكس العملية يحول من Byte إلى Object

C#
PHP كود :
private Object ByteArrayToObject(byte[] arrBytes)
{
    
MemoryStream memStream = new MemoryStream();
    
BinaryFormatter binForm = new BinaryFormatter();
    
memStream.Write(arrBytes0arrBytes.Length);
    
memStream.Seek(0SeekOrigin.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(arrBytes0arrBytes.Length)
        
memStream.Seek(0SeekOrigin.Begin)
        
Dim obj As [Object] = DirectCast(binForm.Deserialize(memStream), [Object])
        Return 
obj
    End 
Function 


إلى هنا جميل جدا

قمت بتجربة الكود وشغال 100% أنظر إلى تجربتي
( 1 )



( 2 )




( 3 )



( 4 )


حلو تم العمليه بدون إي مشاكل
الأن المطلوب هذي العمليه إدخالها في برنامج الأرسال

أبي أرسل B الذي هو نوعه Byte
وأبي أستقبل B الذي هو نوعه Byte

فقط لا غير ..

في مثالك السابق لايقبل الإرسال إلى من نوع Object وانا أبي ارسل من نوع Byte
وأبي أستقبل من نوع Byte حتى أستطيع إدخالها في إجراءاتي التي طبقتها في السابقه وبدون إي مشاكل

إذا كنت تتسائل عن إستخدامي لهذي الطريقه فالجواب لان هذي الطريقه تضمن لي بإرسال صوت - صوره - فيديو - ملف - مصفوفه - مصفوفه ثنائيه - متغير أو ثابت بشتا انواعها إلخ.. وكل هذا بكود واحد دون اللجوا لعدت أكواد
Big Grin
<---------------------------------------------------------------->

الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 23-03-13, 10:30 AM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 23-03-13, 10:39 AM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 23-03-13, 12:02 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 23-03-13, 04:27 PM
مشكلتين في أرسال بأداة Socket - بواسطة Easy 4ever - 24-03-13, 10:30 AM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 24-03-13, 01:52 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 24-03-13, 05:33 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 24-03-13, 05:50 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 24-03-13, 06:23 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 24-03-13, 06:55 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 24-03-13, 10:19 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 25-03-13, 12:38 AM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 25-03-13, 02:33 PM
مشكلتين في أرسال بأداة Socket - بواسطة Sajad - 25-03-13, 05:12 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم