ايران ويج

نسخه‌ی کامل: ارسال فایل با Winsock
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

دوستان کسی هست ارسال فایل با Winsock رو به من یاد بده؟
با تشکر قبلی
این کد برای فرستنده فایل:
کد:
Public Sub SndFile()
    countn=1
    lenfile = FileLen("File Address")
    Timer2.Enabled = True
End Sub

Private Sub Timer2_Timer()    
    data = Space(4000)
    Open "File Address" For Binary As #98
    Get #98, countn, data
    If lenfile <= 4000 Then
        Winsock1.SendData "DDDD" & Trim(data)
        Close #98
        Timer1.Enabled = False
    End If
    If countn < lenfile Then
        If countn + 4000 > lenfile Then
            Winsock1.SendData "DDDD" & Trim(data)
            Close #98
            Timer1.Enabled = False
        Else
            Winsock1.SendData "DADD" & data
            Close #98
        End If
    End If
    countn = countn + 4000
End Sub

این هم برای گیرنده:
کد:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Winsock1.GetData dr, vbString
    Select Case Left(dr, 4)
    Case "DDDD"
        fil22 = fil22 & Right(dr, Len(dr) - 4)
        Open "Downloading File Address" For Binary As #23
            Put #23, 1, fil22
        Close #23
        fil22 = ""
        MsgBox "Download Completed! Go: " & dr, vbInformation, ""

    Case "DADD"
        fil22 = fil22 & Right(dr, Len(dr) - 4)
    End Select
End Sub

File Address آدرس فایلی هست که می خوای بفرستیش!!!
Downloading File Address آدرس فایلی هست که باید روی کامپیوتر گیرنده ساخته بشه!!!
واقعا لطف کردی دوست عزیز. مرسی
سلام.
فکر میکنم winsock تا 4 یا 8 کیلو بایت رو سند میکنه. اگه فایلت حجیم بود اون ور 8 کیلو 8 کیلو دریافت میشه که باید تکه هارو بچسبونی به هم و ذخیره کنی. بهتره انتهای اطلاعات ارسالی یه علامت بچسبونی که اون ور موقع دانلود انتهای اطلاعات رو چک کنی و متوجه بشی که دانلود تموم شده.
با کدی که گذاشتم مشکلی پیش نمیاد پیمان جان
دو تا Protocol توش تعریف شده.
DDDD برای فایل های زیر 8 کیلوبایت
DDAD برای فایل های بالای 8 کیلوبایت