WinSock nроблема c ip адресом

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by X-954377, 24 Jun 2010.

  1. X-954377

    X-954377 New Member

    Joined:
    23 Jun 2010
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    Всем привет у меня такая проблема в общем вот код
    Code:
    bool add_serv(char *sid)
    {
            SOCKET sd;
            WSADATA wsa;
            int con;
            struct sockaddr_in net;
            char buf[1024];
     
            char s[1024] = "GET http://127.0.0.1/b/ex.php?p=777&cmd=";
            strcat_s(s,sizeof(s),sid);
            strcat_s(s,sizeof(s)," HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n");
     
            if(WSAStartup(0x0202,&wsa)!=0)
                    if(WSAStartup(0x0101,&wsa)!=0)return false;
            memset(&buf, 0, sizeof(buf));
            memset(&net, 0, sizeof(net));
            net.sin_family = AF_INET;
            net.sin_port = htons(80);
            net.sin_addr.s_addr = inet_addr("127.0.0.1");
            sd = socket(AF_INET, SOCK_STREAM, 0);
            if(sd<0)return false;
     
            con = connect(sd, (struct sockaddr *) &net, sizeof(net));
            if(con)return false;
     
            con = send(sd,s,sizeof(s),0);
            if(con <= 0)return false;
     
            closesocket(sd);
     
      return true;
    }
    
    
    файл ex.php

    Code:
    <?php
            if(strcmp(@$_GET['p'],"777"))
            {
                    header("Location: http://www.ya.ru");
                    exit();
            }
     
            $c = @$_GET['cmd'];
            $fil = "b/online/$c.dat";
            $ip = @$_SERVER["REMOTE_ADDR"];
            $d = date("d:m:Y|G:i:s");
                    
            $f = fopen($fil,"w+");
                    fputs($f,$d."|".$ip."|");
            fclose($f);
    ?>
    
    вообщем когда я эту функцию вызываю всё работает нормально запрос уходит а вот как сделать так что б мне вместо 127.0.0.1, написать localhost почему-то когда пишу не работает. А вот когда пишу 127.0.0.1 то тогда у меня на сервере создаётся файл а вот при localhost облом.
    Плиз срочно нужно. За ранние СПС.
     
  2. assdancer

    assdancer New Member

    Joined:
    9 Jan 2010
    Messages:
    2
    Likes Received:
    2
    Reputations:
    0
    вроде как вместо
    должно быть
    и еще
    надо изменить так, чтобы хост резолвился. функция на дельфи (с/с++ не знаю):
     
  3. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    gethostbyaddr
     
  4. X-954377

    X-954377 New Member

    Joined:
    23 Jun 2010
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    Всё понял спасибо всем огромное, а вот у меня бесплатный хостинг когда я преобразовываю хост в ip то у меня вообще на какой-то другой сервер попадаю. Так как там даётся виртуальный хост. Вообще реально такое сделать что заработало.
     
  5. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    X-954377
    всё должно работать на любом хостинге.
    смотри может Host: неправильно передаёш.
     
  6. X-954377

    X-954377 New Member

    Joined:
    23 Jun 2010
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    zeppe1in, ну вот например зарегистрировался на /www.wallst.ru мой сайт /mytestp.vov.ru
    вот как мне сделать чтоб здесь работало а то чёта вообще не хочет 194.186.208.6 и меня вообще куда-то в другое место перекидывает.
     
  7. X-954377

    X-954377 New Member

    Joined:
    23 Jun 2010
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    На локалке то у уменя всё работает только когда 127.0.0.1 конектюсь а вот пишу localhost всё глухо
     
  8. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    вот работает
    http://pastebin.com/px6hVpHE
    я кстати наврал про gethostbyaddr надо же gethostbyname)
     
  9. X-954377

    X-954377 New Member

    Joined:
    23 Jun 2010
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0

    Спасибо огоромное. Думаю что тему можно закрыть.