![]() |
|
|
#1
|
|||
|
|||
|
Поигравшись с консольными приложениями, решил сделать веб-сервер.
Познаний в Delphi почти нету, разве что основы получил в DevelStudio (Знаю, что там не делфи, а PHP, но очень похож в каком-то плане сам совмещенный с PHP язык), до этого учил PHP, знаю PHP на уровне среднего веб-программера, т.е. с принятием запроса и т.д. вопросов не возникнет. Вот решил сделать свой веб-сервер, на ютюбе посмотрел ролик по этому поводу. Сделал, но не до конца. Он, как бы, работает, но только через localhost, хотя у компонента TTcpServer выставил LocalHost = 0.0.0.0 и LocalPort = 9246. Захожу через хром на *9.*1.*6.*4:9246 - пишет Код:
К сожалению, Google Chrome не может открыть страницу 89.41.76.64:9246. Захожу на localhost:9246 - возвращает страничку, как положено. Как сделать сервер доступным для всех? |
|
#2
|
|||
|
|||
|
вот события
Код:
procedure TAppForm.btnstartClick(Sender: TObject);
begin
Server.Open;
ServerLog.Lines.Add(DateTimeToStr(Now)+': Server succesfully started!');
Status.Caption := 'Enabled'; Status.Font.Color := clGreen; btnstart.Enabled := false;
btnstop.Enabled := true;
end;
procedure TAppForm.btnstopClick(Sender: TObject);
begin
Server.Close;
ServerLog.Lines.Add(DateTimeToStr(Now)+': Server succesfully stopped!');
Status.Caption := 'Disabled'; Status.Font.Color := clRed; btnstart.Enabled := true;
btnstop.Enabled := false;
end;
procedure TAppForm.btnclearlogClick(Sender: TObject);
begin
ServerLog.Lines.Clear; ServerLog.Lines.Add(DateTimeToStr(Now)+': Log was cleared by owner!');
end;
procedure TAppForm.ServerAccept(Sender: TObject;
ClientSocket: TCustomIpClient);
var
Line: String;
begin
Line := ' ';
while ClientSocket.Connected and (Line <> '') do
begin
Line := ClientSocket.Receiveln();
ServerLog.Lines.Clear; ServerLog.Lines.Add(Line);
end;
ClientSocket.Sendln('HTTP/1.0 200 OK');
ClientSocket.Sendln('');
ClientSocket.Sendln('<h1>Server is busy</h1>');
ClientSocket.Close;
end;
end. |
|
#3
|
|||
|
|||
|
cmd
netstat -a -n -p TCP | grep "LISTENING" |
|
#4
|
||||
|
||||
|
за NAT'ом сидишь?
|