Вот небольшой пример веб-сервера, который работает совместно с любым браузером.
#ProgName="Web-сервер - пример" Port=80 ; На этом порту будет работать сервер *Buffer = AllocateMemory(10000) If InitNetwork() = 0 MessageRequester(#ProgName, "Ошибка инициализации сетевой библиотеки!", #MB_OK|#MB_ICONERROR) End EndIf If CreateNetworkServer(2, Port , #PB_Network_TCP) Repeat SEvent = NetworkServerEvent() If SEvent ClientID = EventClient() Select SEvent Case #PB_NetworkEvent_Connect ; Новый клиент подключился к серверу Case #PB_NetworkEvent_Data ; От клинета пришли данные ReceiveNetworkData(ClientID, *Buffer, 10000) SendNetworkString(ClientID, "HTTP/1.0 200 OK"+Chr($0D)+Chr($0A)) SendNetworkString(ClientID, "Server: "+#ProgName+Chr($0D)+Chr($0A)) SendNetworkString(ClientID, "Content-Length: "+Str(?M2-?M1)+Chr($0D)+Chr($0A)) SendNetworkString(ClientID, "Content-Type: text/html"+Chr($0D)+Chr($0A)) SendNetworkString(ClientID, Chr($0D)+Chr($0A)) SendNetworkData(ClientID, ?M1, ?M2-?M1) Case #PB_NetworkEvent_File ; От клиента пришел файл Case #PB_NetworkEvent_Disconnect ; Клиент разорвал соединение с сервером EndSelect Else Delay(20) EndIf ForEver Else MessageRequester(#ProgName, "Не удалось создать сервер на "+Str(Port)+" порту!", #MB_OK|#MB_ICONERROR) EndIf End DataSection M1: IncludeBinary "Пример Web-сервера.html" M2: EndDataSection
Запускаем его и в браузере вводим адрес http://127.0.0.1/
В итоге, в браузере отобразится веб-страничка, содержимое которой хранится в файле "Пример Web-сервера.html".
Файлы http://pure-basic.narod.ru/forum_files/WebServer_PB.rar