Ik heb een klein webservertje gemaakt die winzip files moet kunnen sturen naar verschillende clients. Hieronder de code die de binary file inleest en naar de client stuurt.
Als ik via Explorer 6.0 connect naar de webserver gaat het prima en krijg ik netjes een geldige winzip file terug.
Indien ik echter vanuit een Unix systeem probeer de file te grebben krijg ik steeds een corrupte file terug.
Ik heb echt geen idee meer wat ik fout doe. Zien jullie vreemde dingen aan de HTTP headers of in de code? Wellicht geeft het WinSock control problemen? Ik gebruik overigens wel SP5 van het control.
P.S: Er is ook een soortgelijke webserver in Java ontwikkeld die wel goed werkt op alle platforms.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| intTemp = FreeFile Open strFile For Binary Access Read As #intTemp intDataSize = LOF(intTemp) ' Array starts at element zero ReDim Data(intDataSize - 1) Get #intTemp, , Data Close #intTemp ' Send HTTP header strHeader = "HTTP/1.1 200 OK" & vbCrLf strHeader = strHeader & "Server: Microsoft-IIS/4.0" & vbCrLf strHeader = strHeader & "Connection: close" & vbCrLf strHeader = strHeader & "Date: Thu, 1 Jan 1980 00:00:01 GMT" & vbCrLf strHeader = strHeader & "Content-Type: application/octet-stream" & vbCrLf strHeader = strHeader & "Last-Modified: Thu, 1 Jan 1980 00:00:01 GMT" & vbCrLf strHeader = strHeader & "Content-Length: " & CStr(intDataSize) & vbCrLf & vbCrLf ' Verzend file via WinSock wskListen.SendData strHeader wskListen.SendData Data |
Als ik via Explorer 6.0 connect naar de webserver gaat het prima en krijg ik netjes een geldige winzip file terug.
Indien ik echter vanuit een Unix systeem probeer de file te grebben krijg ik steeds een corrupte file terug.
Ik heb echt geen idee meer wat ik fout doe. Zien jullie vreemde dingen aan de HTTP headers of in de code? Wellicht geeft het WinSock control problemen? Ik gebruik overigens wel SP5 van het control.
P.S: Er is ook een soortgelijke webserver in Java ontwikkeld die wel goed werkt op alle platforms.
It’s nice to be important but it’s more important to be nice