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

Вниз

Проверка SOCKSов   Найти похожие ветки 

 
csr ©   (2004-01-16 17:42) [0]

Помогите кто может накалякать ф-цию для определения жив СОКС или мертв! Я деляю так (при помощи winsock):

function CheckSOCKServer(host: string; port: integer): Boolean;
type
 THostAddr = array[1..4] of byte;
 PHostAddr = ^THostAddr;
var
  s      : TSocket;
  Name   : TSockAddr;
  WSData : WSAData;
  HostEnt: PHostEnt;
  ph     : PHostAddr;
  res    : integer;
begin
    result := False;

    if WSAStartup($102, WSData) = 0 then
    begin
         s := socket(AF_INET, SOCK_STREAM, 0);
         Name.sin_family := AF_INET;

         HostEnt := gethostbyname(PChar(host));
         if HostEnt <> nil then
         begin
              ph := PHostAddr(HostEnt^.h_addr_list^);
              name.sin_addr.S_addr := Cardinal(ph^);
              name.sin_port := ntohs(port);
              res := connect(s, Name, SizeOf(TSockAddr));

//               res := WSAGetLastError();
              if res = 0 then
              begin
                   result := True;
              end;
         end;
         closesocket(s);
         WSACleanup;
    end;
end;

Собственно говоря, написано все как надо... но порой возникают разные глюки типа деление на ноль и проч. Дак вот поэтому обращаюсь к мастерам за помощью, мож кто-нить уже решал этот вопрос...


 
Verg ©   (2004-01-16 19:29) [1]

Не знаю при чем тут деление на ноль и кто такой СОКС, но для начала неплохо бы накалякать

fillchar(name, sizeof(name), 0);

перед тем как заполнять поля у этого Name.


 
csr ©   (2004-01-17 09:48) [2]

Знать что такое СОКС должен каждый, кто заходит в этот форум :). А fillchar не обязательно нужен. Но я попробую, мож и в правду из-за этого глюки. Сэнкс!!


 
Anela   (2004-01-17 16:18) [3]

может надо так написать:
name.sin_family:=AF_INET;
name.sin_addr.S_addr := Cardinal(ph^);
name.sin_port := ntohs(port);


 
csr_   (2004-01-19 17:46) [4]

Удалено модератором
Примечание: Тебе же сказали RO...



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

Форум: "Сети";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.031 c
14-1077868397
Карелин Артем
2004-02-27 10:53
2004.03.28
Чего хотят преподы? Продолжение вопроса из чата.


1-1078874098
NetKnight
2004-03-10 02:14
2004.03.28
Report in PDF?


1-1078418270
Rim
2004-03-04 19:37
2004.03.28
FontColor Memo


1-1078483150
Well
2004-03-05 13:39
2004.03.28
как создать Слайд шоу


1-1078512821
К.К.С.
2004-03-05 21:53
2004.03.28
MessageDLG





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский