Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.04;
Скачать: CL | DM;

Вниз

Проблема с TServerSocket   Найти похожие ветки 

 
Igorek ©   (2003-10-03 11:45) [0]

Только начинаю изучать эту тему, потому и глупый наверно вопрос.
Наваял сервер.

procedure TForm1.Button1Click(Sender: TObject);
begin
with ServerSocket1 do
begin
Active := not Active;
if Active then
Button1.Caption := "Set server not active"
else
Button1.Caption := "Set server active";
end;
Memo1.Lines.Clear;
Memo2.Lines.Clear;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add(Socket.ReceiveText);
end;


При активации выдает:
---------------------------
Debugger Exception Notification
---------------------------
Project SampleServer.exe raised exception class ESocketError with message "Windows socket error: (11004), on API "ASync Lookup"". Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

Причем ServerType = stNonBlocking

Самое интересное, что пару раз запустилось нормально а теперь - ексепшн. Что такое?


 
Digitman ©   (2003-10-03 12:10) [1]


procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
begin
Socket.SendЧегоТо(....); // !!!!!!!!!!!
end;


 
Igorek ©   (2003-10-03 12:27) [2]

2 Digitman

Причина ошибки не в том.
Пусть будет:

procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
begin
Socket.SendText("asdasda");
end;

Ошибка присутствувет. А что за код 11004? МСДН нету под руками.


 
Digitman ©   (2003-10-03 12:49) [3]


> Причина ошибки не в том


это понятно
приведенный код не имеет к этому отношения


> Ошибка присутствувет


какая ? вышеупомянутое исключение ?
ищи его источник с пом. меню "Search | Find Error ..."


> что за код 11004? МСДН нету под руками


зато есть хэлп sock2.hlp и модуль winsock.pas

WSABASEERR = 10000;
{ Valid name, no data record of requested type }
WSANO_DATA = (WSABASEERR+1004);

укажи строчку, при выполнении которой возникает ошибка 11004


 
Igorek ©   (2003-10-03 13:16) [4]

Active := not Active;


 
Digitman ©   (2003-10-03 13:35) [5]

для начала очисть св-во Service


 
Igorek ©   (2003-10-03 16:47) [6]

Хе. Убрал компонент, поставил снова, выставил свойства и все пошло. Странно однако...

> Digitman © (03.10.03 13:35) [5]
> для начала очисть св-во Service

Зачем, пусть будет напр. "http"


 
Digitman ©   (2003-10-03 16:55) [7]

угу ...
пусть будет)
тогда либо сервер у тебя должен "слушать" на 80-м порту, а не на 20000-м, либо строка соответствующая в файле Services должна указывать, что http-сервис по твоему необоснованному капризу отныне стал "жить" на 20000-м порту)


 
Digitman ©   (2003-10-03 17:00) [8]

Specifies the name of the service for which the socket connection is used.

property Service: string;

Description

Use Service to identify the use of the connection. Windows provides a number of standard service names such as ftp, http, finger, and time. Servers can specify additional services and their associated ports in a SERVICES file. For more information, see the Microsoft documentation for Windows sockets.

Certain port numbers are reserved for specific values of service. Thus, Service provides a more meaningful way to specify the server Port to use for the socket connection. For server sockets, using Service rather than Port ensures that the server will listen for TCP/IP requests on the appropriate port.

так что серверу-клиенту твоим глубо начхать на св-во Port, они его возьмут из файла Services, коль скоро ты указала там "http"



Страницы: 1 вся ветка

Текущий архив: 2003.12.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
4-11713
qwerty2
2003-10-09 22:46
2003.12.04
Выполнить процесс от имени другого пользователя


8-11623
Great Lesh
2003-08-04 03:54
2003.12.04
Avi -> BMP


6-11694
Vilux
2003-10-10 14:25
2003.12.04
Работа с сокетами


6-11647
bushmen
2003-10-03 13:21
2003.12.04
Webconnection


8-11626
Rean
2003-08-07 14:37
2003.12.04
DelphiX6