Здравствуйте, не могу нормаьно передать файл по сети, передается только определенная часть, или фрагмент файла, например музыка вместо 7 минут, идет 7 секунд (отрывок) Что я не так делаю?
На клиенте такой код:
Открываю фал, получаю его размер, отправляю размер файла обычной строкой, а потом и сам файл через буфер.
If ReadFile(0, "1.mp3") length = Lof(0) *MemoryID = AllocateMemory(length) If *MemoryID ReadData(0, *MemoryID, length) SendNetworkString(Server, ""+length) ReAllocateMemory(*Buffer, length) SendNetworkData(Server, *MemoryID, length) EndIf EndIf
Сервер:
Переменная co просто переключает прием данных, после того как пришла строка с размером файла.
Case #PB_NetworkEvent_Data ReceiveNetworkData(Client, *Buffer, 1000) If co = 0 len$ = PeekS(*Buffer) length = ValF(len$) co = 1 FillMemory(*Buffer, 500) Else *MemoryID = AllocateMemory(length) ReceiveNetworkData(Client, *MemoryID, length) CreateFile(111, "2.mp3") WriteData(111, *MemoryID, length) CloseFile(111) Debug "Файл создан" co = 1 EndIf
В конце почему то я вижу 5-6 сообщений в дебаге "Файл создан", почему так, поправьте или обьясните что не так пожалуйста.