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

Вниз

Как найти всех доступных клиентов?   Найти похожие ветки 

 
BillyJeans ©   (2003-06-19 10:40) [0]

Написал клиентские модули, которые принимают строку символов. А в модуле админа, хочу опросить всех доступных клиентов, делаю это так:

s := socket(AF_INET, SOCK_STREAM, 0);
sa.sin_family := AF_INET;
sa.sin_port := htons(13);
for i := sADDR to eADDR do begin
sa.sin_addr.S_addr := htonl(i);
if connect(s, sa, sizeof(sa)) = 0 then Send(s, buf, 20, 0);
еnd;

Но проблема в том, что находится только первый клиент, игнорируя остальные :(
Подскажите пожалуйста, что делаю не так?


 
Digitman ©   (2003-06-19 12:34) [1]

s := INVALID_SOCKET;
sa.sin_family := AF_INET;
sa.sin_port := htons(13);
for i := sADDR to eADDR do begin
if s = INVALID_SOCKET then
s := socket(AF_INET, SOCK_STREAM, 0);
sa.sin_addr.S_addr := htonl(i);
if connect(s, sa, sizeof(sa)) = 0 then
begin
Send(s, buf, 20, 0);
CloseSocket(s);
s := INVALID_SOCKET;
( s) s := INVALID_SOCKET;
sa.sin_family := AF_INET;
sa.sin_port := htons(13);
for i := sADDR to eADDR do begin
if s = INVALID_SOCKET then
s := socket(AF_INET, SOCK_STREAM, 0);
sa.sin_addr.S_addr := htonl(i);
if connect(s, sa, sizeof(sa)) = 0 then
begin
Send(s, buf, 20, 0);
CloseSocket(s);
s := INVALID_SOCKET;
end;
еnd;
if s <> INVALID_SOCKET then
CloseSocket(s);


 
BillyJeans ©   (2003-06-20 08:12) [2]

А что такое INVALID_SOCKET? Может быть SOCKET_ERROR?
и можно ли данную операцию реализовать через BROADCAST (протокол TCP)?


 
Digitman ©   (2003-06-20 09:09) [3]


> А что такое INVALID_SOCKET? Может быть SOCKET_ERROR?


почему это SOCKET_ERROR ?
разве я при присвоении переменной s значения INVALID_SOCKET какую-то winsock-ф-цию выполняю ?
константа INVALID_SOCKET, заносимая в s, показывает, что с этого момента переменная s не содержит значения хэндла существующего гнезда


 
BillyJeans ©   (2003-06-20 10:46) [4]

Просто моя дельфя не понимает, что такое INVALID_SOCKET :(


 
Digitman ©   (2003-06-20 11:29) [5]

да ведь чушь ты городишь !

модуль Winsock.pas (не думаю, что ты его не используешь), строка 353, текст :

{$EXTERNALSYM INVALID_SOCKET ( NOT(0) да ведь чушь ты городишь !

модуль Winsock.pas (не думаю, что ты его не используешь), строка 353, текст :

{$EXTERNALSYM INVALID_SOCKET =}
INVALID_SOCKET = TSocket(NOT(0));
{$EXTERNALSYM SOCKET_ERROR =}
SOCKET_ERROR = -1;



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
14-92254
Proger_XP
2003-08-09 10:48
2003.08.28
Инет


14-92247
Александр_ИСТ
2003-08-09 10:31
2003.08.28
Вроде была какая то бесплатная версия делфи от борланда...


11-92093
Ал
2002-12-17 21:09
2003.08.28
При возникновении except в try except отладчик зависает


6-92159
Patriot
2003-06-19 03:03
2003.08.28
WebBrowser и RichEdit


3-92054
Алексей Петухов
2003-08-04 08:18
2003.08.28
Проблемы со вставкой записей в таблицу DBase