I need a very simple server which can put in the internet one image when receive a code in get request. I try some code which work but stoping in 15-30 minutes, who know why?

The code is here:
VB Code:
  1. Dim webID As Integer
  2. Dim maxUsers As Integer
  3.  
  4. Private Sub Form_Load()
  5.     Dim active As Integer
  6.     If App.PrevInstance = True Then
  7.     End
  8.     Else
  9.     webID = 0
  10.     maxUsers = 2
  11.    
  12.     For active = 1 To maxUsers
  13.      Load webServer(active)
  14.     Next active
  15.    
  16.     StartServer
  17.     End If
  18. End Sub
  19.  
  20. Public Sub StartServer()
  21. On Error GoTo MyWebError
  22.  
  23.     webServer(0).Disconnect
  24.     webServer(0).LocalPort = 88
  25.     webServer(0).Listen
  26.    
  27.    
  28. Exit Sub
  29. MyWebError:
  30. MsgBox "Web Server cannot be start! Port " & webServer(0).LocalPort & " may be in use by another application.", vbExclamation
  31. End Sub
  32.  
  33. Private Sub webServer_Accept(Index As Integer, SocketId As Integer)
  34. On Error GoTo MyReset
  35. Label1 = "accept connect"
  36.  
  37. webID = webID + 1
  38. If webID = maxUsers Then webID = 1
  39.  
  40.     If webServer(webID).Connected = False Then
  41.     webServer(webID).Accept = SocketId
  42.     Else
  43.     GoTo MyReset
  44.     End If
  45.    
  46. Label2 = webID
  47. Exit Sub
  48.    
  49. MyReset:
  50. webServer(webID).Disconnect
  51. Exit Sub
  52. End Sub
  53.  
  54.  
  55. Private Sub webServer_Read(Index As Integer, DataLength As Integer, IsUrgent As Integer)
  56.     Dim nPos As Integer
  57.     Dim strGet As String
  58.     Dim fileBuffer As String
  59.     Dim strHeader As String
  60.     Dim fileserver As String
  61.     Dim getBuffer As String
  62.     Dim readBuffer As Integer
  63.     Dim lenBuffer As Integer
  64.     Dim BytesWrite As Integer
  65.     Dim f As Integer
  66.    
  67.     f = FreeFile
  68.     fileBuffer = ""
  69.  
  70.     readBuffer = webServer(Index).Read(getBuffer, 2048)
  71.     nPos = InStr(5, getBuffer, " ")
  72.     strGet = Mid(getBuffer, 5, nPos - 5)
  73.    
  74.     nPos = InStr(getBuffer, Chr(10))
  75.     strHeader = getBuffer
  76.    
  77.     If Left(strGet, 22) = "/U2FzY2hBcnRtZXJnZXRi?" Then
  78.     fileserver = App.Path & "\imagetoshow.jpg"
  79.    
  80.     If Len(Dir$(fileserver)) > 0 Then
  81.     lenBuffer = FileLen(fileserver)
  82.     Open fileserver For Binary As #f
  83.     fileBuffer = Input(lenBuffer, #f)
  84.     Close #f
  85.     Else
  86.     fileBuffer = "#"
  87.     End If
  88.    
  89.     'back headers
  90.    
  91.     strHeader = "HTTP/1.1 200 OK" & Chr(13) & Chr(10)
  92.     strHeader = strHeader & "Server: SaServer" & Chr(13) & Chr(10)
  93.     strHeader = strHeader & "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0" & Chr(13) & Chr(10)
  94.     strHeader = strHeader & "Pragma: no-cache" & Chr(13) & Chr(10)
  95.     strHeader = strHeader & "Connection: close" & Chr(13) & Chr(10)
  96.     strHeader = strHeader & "Content-Type: image/jpeg" & Chr(13) & Chr(10)
  97.     strHeader = strHeader & Chr(13) & Chr(10)
  98.    
  99.     BytesWrite = webServer(Index).Write(strHeader, Len(strHeader))
  100.    
  101.     BytesWrite = webServer(Index).Write(fileBuffer, Len(fileBuffer))
  102.     End If
  103.    
  104.     If webServer(Index).Connected Then
  105.     webServer(Index).Disconnect
  106.    
  107.     End If
  108. End Sub
  109.  
  110. Private Sub webServer_Disconnect(Index As Integer)
  111. webServer(Index).Disconnect
  112. End Sub
  113.  
  114. Private Sub Label2_Click()
  115. Shell ("Explorer " & Label2), vbNormalNoFocus
  116. End Sub

I use SocketWrench Freeware Edition from Catalyst.