Главная страница
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.48 MB
Время: 0.016 c
8-92130
DeadMeat
2003-05-02 20:17
2003.08.28
Анимация в GLScene


3-92060
malamba
2003-08-01 15:55
2003.08.28
импорт данных в мою прогу


4-92305
Arhelon
2003-06-24 14:46
2003.08.28
Как вытащить иконку из открытого окна ???????


14-92244
Безымянное среднего рода
2003-08-09 14:33
2003.08.28
Может хватит ?


14-92185
vidiv
2003-08-10 14:41
2003.08.28
WebMoney