За последние 24 часа нас посетили 16534 программиста и 1578 роботов. Сейчас ищут 814 программистов ...

Sockets

Тема в разделе "Прочие вопросы по PHP", создана пользователем host, 31 авг 2007.

  1. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    Подскажите как создать с помощью сокетов скрипт переписки (наподобие icq но с помощью сокетов, чтобы сразу поступал ответ)
    Про сокеты в сети информации довольно мало
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Тебе нужна информация не по сокетам, а по протоколу HTTP. Про сокеты тут http://php.net/sockets
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    а что в твоем понимании это означает?
     
  4. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    я пишу сообщение, а на странице (к примеру message.php) появляется сообщение пользователя и он пишет и тоже появяляется, как в icq
    Так приходится авторефрэшами пользоваться, что не гуд

    Меня больше интересует как передавать информацию с их помощью. Как открыть, закрыть и как поставить на прослушивание, думаю разберусь
     
  5. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    AJAX. А сами сообщения хранить в БД.
     
  6. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    тебе чат нужен?
     
  7. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    Sergey89
    AJAX не знаю я

    PS Сокеты тогда зачем нужны )
     
  8. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    440Hz
    Грубо говоря
     
  9. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Формировать HTTP запрос и отсылать его.
     
  10. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    можешь показать?
    Если не трудно
     
  11. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2.  
    3. echo "<h2>TCP/IP Connection</h2>\n";
    4.  
    5. /* Get the port for the WWW service. */
    6. $service_port = getservbyname('www', 'tcp');
    7.  
    8. /* Get the IP address for the target host. */
    9. $address = gethostbyname('www.example.com');
    10.  
    11. /* Create a TCP/IP socket. */
    12. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    13. if ($socket === false) {
    14.     echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
    15. } else {
    16.     echo "OK.\n";
    17. }
    18.  
    19. echo "Attempting to connect to '$address' on port '$service_port'...";
    20. $result = socket_connect($socket, $address, $service_port);
    21. if ($result === false) {
    22.     echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
    23. } else {
    24.     echo "OK.\n";
    25. }
    26.  
    27. $in = "HEAD / HTTP/1.1\r\n";
    28. $in .= "Host: [url=http://www.example.com]www.example.com[/url]\r\n";
    29. $in .= "Connection: Close\r\n\r\n";
    30. $out = '';
    31.  
    32. echo "Sending HTTP HEAD request...";
    33. socket_write($socket, $in, strlen($in));
    34. echo "OK.\n";
    35.  
    36. echo "Reading response:\n\n";
    37. while ($out = socket_read($socket, 2048)) {
    38.     echo $out;
    39. }
    40.  
    41. echo "Closing socket...";
    42. socket_close($socket);
    43. echo "OK.\n\n";
    44. ?>
     
  12. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    Всего есть 2 сайта:
    1-ый отправляет данные (www.example.com)
    2-ой получает данные отправленные 1-ым (www.example.ru)

    Нужно (допустим) отправить "Welcome to the web" на 2-ой, в этот момент 2-ой сайт принимает и отображает сразу этот текст.

    Вот конкретная задача. И очень нужно в ней разобраться. Обращаться у меня больше не к кому. Надежда только на вас осталась. Благодарю
     
  13. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    У меня не получается "прослушать" на другой странице данные, отправленные с другой страницы
     
  14. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Отправляй специальный запрос на сайт example.ru с сайта example.com, при этом сохраняй данные скажем в БД. А на сайте example.ru переодически дёргай эту инфу с БД.
     
  15. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    когда будет "новая" информация, то что бы человек ее увидел ему придется обновить страницу
     
  16. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  17. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    host, на первом сайте отдавать в статику с рефрешем в meta, а на втором выводить в iframe?
     
  18. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    lexa
    Sergey89
    Есть ли еще какие-нибудь предложения? Главное чтобы на php было
    PS Есть сайт, какой у него адрес я не понмню, но он известный. На сайтах написано: ONLINE оператор 24/7, при нажзатии открывается окошко и там можно задавать вопрос оператору и приходят данные и уходят безе перзагрузки страницы?Как же у них это сделано? Вроде скрипт на php написан
     
  19. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    host, можно так: страница на сайте А когда обновляется, тогда и рефрешится. Не обязательно авторефреш делать.
     
  20. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    host, там аякс, скорее всего или iframe. Вспомни сайт, проще будет ориентироваться.
     
  21. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    Вот посмотрите:
    http://www.tramadol.md/contact.html
    и нажмите на Click here for LIVE CHAT заполните имя и что то напишите и увидете.
    Вродебы на php
     
  22. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Код (Text):
    1. <script type="text/javascript" src="js/xmlhttp.js"></script>
    AJAX. host, разберись, как работает PHP и почему на нём, такого сделать нельзя.
     
  23. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    Sergey89
    Я знаю как работает php, просто для меня сокеты - это новое, и я думал что сокеты как раз для этого и созданы. Тогда зачем их вообще использовать? В каких случаях они нужны? Судя по Вам, вы их используете, поделитесь пожалуйста

    PS Source не смотрел :)
     
  24. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
     
  25. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0