Тема: Сеть
Показать сообщение отдельно
Старый 05.10.2007, 16:07   #42
JoKeR_13
Оператор ЭВМ
 
Регистрация: 09.04.2007
Сообщений: 28
Написано 2 полезных сообщений
(для 2 пользователей)
Re: Сеть

Пробую передать файл по сети, вроде все отрабатывает, но файл получается заполнен 0

ниже код, может что подскажите?
Сервер
; Создаем сервер для передачи файла
FileServer = CreateTCPServer (1313)
If FileServer <>0 Then
n = CountHostIPs("") 
ip = HostIP(1)
ipaddress$ = DottedIP$(ip)
Print "Сервер запущен удачно. IP: "+ ipaddress$
Else 
Print "Ошибка создания сервера." 
End 
End If 
;WaitKey
; ========================
While Not KeyHit(1)
    strStream=AcceptTCPStream(FileServer)     
    ; обработка команд
    If strStream Then
        s$=ReadString$(strStream)
        location = Instr( s$,"GET",1) 
        If location <>0 Then
            f$ = Mid$(s$,location+4, Len (s$)-location+4)
            Print "Файл "+f$
            ; Работа с файлом
            fileOut = OpenFile (f$)
            If fileOut = 0 Then
                Print "Файл "+f$+" не найден!"
            Else
                flSize = FileSize (f$)
                bank = CreateBank (flSize)
                ; Передача файла
                WriteInt  StrStream, flSize
                ; Считать из файла в банк памяти 
                ReadBytes bank,fileOut,0, flSize
                ; Закрыть файл 
                CloseFile fileOut
                WriteBytes bank,  strStream, 0, flSize
            EndIf 
        End If
    End If 
Wend 
End
Клиент
fileStrim = OpenTCPStream ("10.9.26.7",1313)
If fileStrim <> 0 Then
Print "Клиент соединился с сервером." 
Else 
Print "Сервер не отвечает." 
WaitKey 
End 
End If 

WriteString  fileStrim, "GET Test.exe"
size = ReadInt (fileStrim)
bank = CreateBank (size)
Print size
ReadBytes (bank, fileStrim,0,fileStrim)
fileout = WriteFile("Test1.exe") 
WriteBytes (bank, fileout,0, BankSize (bank))
CloseFile (fileout)
Print "OK"
WaitKey
End
(Offline)
 
Ответить с цитированием