ورود

View Full Version : سوال: مشکلات ارسال فایل با وینسوک



AbbasVB
دوشنبه 03 بهمن 1390, 22:33 عصر
برای ارسال فایل به winsock معمولا به این صورت عمل می شه

Open cdl.FileName For Binary As #1
While EOF(1) = False
Data = Input(32500, #1)
Winsock2.SendData Data
DoEvents
Wend
Close

این روش چند تا عیب داره
1- این روش برای فایل های کم حجم مناسب هست مثلا برای یک عکس چون این کد محتویات یک فایل رو روی رم می ریزه و اگه حجم یک فایل زیاد با شه فضای زیادی رو از حافظه اشغال می کنه مثل یک فیلم 100 MB
2- این روش فقط می تواند 32767 کاراکتر یا بایت (نمی دونم کدوم دسته) رو از فایل بخونه و اگه فایل حجیم باشه
قسمتی از فایل نخونده باقی می مونه و فایل ناقص ارسال می شه کسی برای این مشکل راه حلی نداره ؟

M.T.P
سه شنبه 04 بهمن 1390, 00:25 صبح
روش صحیح ارسال فایل:



Sub SendFile()
Dim StrData As String
Dim StrFile As String
Dim IntFileNumber As Integer

StrFile = "1.jpg"
IntFileNumber = FreeFile

Open StrFile For Binary As IntFileNumber
StrData = String$(LOF(IntFileNumber), " ")
Get IntFileNumber, , StrData
Close IntFileNumber

Winsock.SendData StrData
End Sub