robp
Aug 3rd, 1999, 09:34 AM
I have a simple web server that works fine as long as the files it is serving do not exceede 8k. Any ideas?
Dim DataSend
Dim ExistFile
SendingDataIndex(Index) = 1
ExistFile = Dir(FileName$)
If ExistFile > "" Then
DataSend = DataSend & "HTTP/1.0 200 OK" & vbCrLf
Else
DataSend = DataSend & "HTTP/1.0 404 Not Found" & vbCrLf
DataFile = "<body><h2>File Not Found</h2><br>" & vbCrLf
DataFile = DataFile & " </body>" & vbCrLf
End If
DataSend = DataSend & "Server: ioCONTROL Server 1.0" & vbCrLf
DataSend = DataSend & "Content-Type: " & ContentType$ & vbCrLf
DataSend = DataSend & vbCrLf
DataSend = DataSend & DataFile
TCPSocket(Index).SendData DataSend
If ExistFile > "" Then
Dim FileExt$, FileType$: FileExt$ = LCase$(Right$(FileName$, 3))
Select Case FileExt$
Case "htm": FileType$ = "text/html"
Case "txt": FileType$ = "text/plain"
Case "gif": FileType$ = "image/gif"
Case "jpg": FileType$ = "image/jpeg"
Case "ass": FileType$ = "application/x-javascript"
Case Else: FileType$ = "application/octet-stream"
End Select
Open FileName$ For Binary Access Read As Index
Dim ChunkSize: ChunkSize = 16384
Dim BytesToRead: BytesToRead = FileLen(FileName$)
Do While BytesToRead > 0
If BytesToRead < ChunkSize Then
DataSend = Input(BytesToRead, Index)
BytesToRead = 0
Else
DataSend = Input(ChunkSize, Index)
BytesToRead = BytesToRead - ChunkSize
End If
TCPSocket(Index).SendData DataSend
Loop
Close Index
End If
'close the socket upon complete
SendingDataIndex(Index) = 0
Dim DataSend
Dim ExistFile
SendingDataIndex(Index) = 1
ExistFile = Dir(FileName$)
If ExistFile > "" Then
DataSend = DataSend & "HTTP/1.0 200 OK" & vbCrLf
Else
DataSend = DataSend & "HTTP/1.0 404 Not Found" & vbCrLf
DataFile = "<body><h2>File Not Found</h2><br>" & vbCrLf
DataFile = DataFile & " </body>" & vbCrLf
End If
DataSend = DataSend & "Server: ioCONTROL Server 1.0" & vbCrLf
DataSend = DataSend & "Content-Type: " & ContentType$ & vbCrLf
DataSend = DataSend & vbCrLf
DataSend = DataSend & DataFile
TCPSocket(Index).SendData DataSend
If ExistFile > "" Then
Dim FileExt$, FileType$: FileExt$ = LCase$(Right$(FileName$, 3))
Select Case FileExt$
Case "htm": FileType$ = "text/html"
Case "txt": FileType$ = "text/plain"
Case "gif": FileType$ = "image/gif"
Case "jpg": FileType$ = "image/jpeg"
Case "ass": FileType$ = "application/x-javascript"
Case Else: FileType$ = "application/octet-stream"
End Select
Open FileName$ For Binary Access Read As Index
Dim ChunkSize: ChunkSize = 16384
Dim BytesToRead: BytesToRead = FileLen(FileName$)
Do While BytesToRead > 0
If BytesToRead < ChunkSize Then
DataSend = Input(BytesToRead, Index)
BytesToRead = 0
Else
DataSend = Input(ChunkSize, Index)
BytesToRead = BytesToRead - ChunkSize
End If
TCPSocket(Index).SendData DataSend
Loop
Close Index
End If
'close the socket upon complete
SendingDataIndex(Index) = 0