Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.12.04;
Скачать: [xml.tar.bz2];

Вниз

Проблема с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
4-11750
lamorg
2003-10-10 17:31
2003.12.04
Как установить ani-курсор


6-11656
ИМХО
2003-10-07 23:56
2003.12.04
Достучаться до заголовков письма в MS Outlook?


6-11668
DenKop
2003-10-07 16:00
2003.12.04
Как подставить куки к посылаемому post запросу


14-11700
Думкин
2003-11-13 04:53
2003.12.04
С днем рождения! 13 ноября.


4-11729
FireHack
2003-10-08 12:35
2003.12.04
Командная строка процесса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский