Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Для чего нужны сокеты? (https://javascript.ru/forum/server/28895-dlya-chego-nuzhny-sokety.html)

9xakep 06.06.2012 15:39

Для чего нужны сокеты?
 
Вложений: 1
Дибильный вопрос, но все же, я так понял, это что-то вроде get#post запросов, только с php страницы?
Несколько вопросов:
1) Как его номарльно оформлять и использовать?
2) Когда и какие порты нужно использовать?

И вот нарыл такой код, но не знаю почему-то пишет, мол страница chat.php не найдена, хотя она есть, в чем может быть ошибка? Скрин
<?php
$fp = fsockopen('test2.ru', 80); //Подсоединяемся с хосту "localhost" на 80-й порт
if($fp)
{
    //Соединение создано, всё в порядке
    fputs($fp, "GET /chat.php HTTP/1.0\nUser-Agent: У меня Firefox 1.5 и Windows XP\nReferer: Я пришёл с microsoft.com\nCookie: test=test_cookie\n\n");
    
    echo '<pre>'; //Что бы нам было лучше видно заголовки, которые отдаст сервер
    while(!feof($fp)) echo fgets($fp); //Выводим ответ сервера
    echo '</pre>';
    
    fclose($fp); //Закрываем сокет
}
?>

melky 06.06.2012 16:14

По теме. Не знаю. на php.su аналогичный пример.

никогда не занимался сием извращением (имхо).
я в своё время сразу открыл мануал по CURL и курил его.


.... а теперь, на линуксе, даже не жалею о том, что всегда использую CURL в сетевых запросах.


PS на твоём хостинге не держат Node.js ? Я бы слепил сайт на ней, заодно бы выучил её, и паттерны асинх. программирования. И там, и там JS. Классно же :) Правда, есть шанс, что от JS тошнить начнёт...

9xakep 06.06.2012 16:25

Цитата:

Сообщение от melky
PS на твоём хостинге не держат Node.js ?

мой хостинг денвер) Как можно проверить поддерживается или нет?
Цитата:

Сообщение от melky
Я бы слепил сайт на ней

Node.js это онa !gasp!
Цитата:

Сообщение от melky
и паттерны асинх. программирования.

Нормальный источник не подскажешь?
Цитата:

Сообщение от melky
И там, и там JS.

Что значит и там и там js? Намек на то, что мне придется потр*аться, а потом смогу что-то на Js написать?)
Цитата:

Сообщение от melky
Правда, есть шанс, что от JS тошнить начнёт...

как только закончу может на c++ сяду учить. :)
============================
cURL - для чего он, если вкраце?

melky 06.06.2012 17:34

Цитата:

Сообщение от 9xakep
Что значит и там и там js? Намек на то, что мне придется потр*аться, а потом смогу что-то на Js написать?)

Т.е. на сервере, и на клиенте.

Меньше переучиваться придётся. удобно же.

Цитата:

Сообщение от 9xakep
Нормальный источник не подскажешь?

Моск :( у меня была ссылочка со многими известными паттернами (не для JS.. вообще)

Но вообще, их много на хабре и википедии.

Цитата:

Сообщение от 9xakep
Node.js это онa !gasp!

ну... ашипка) ОНО называется НОДОЙ... нода, нода... "она моя" :)

Цитата:

Сообщение от 9xakep
как только закончу может на c++ сяду учить.

Весчь. Я на C# отвлекался. Но JS рубит мозги лучше всех, по моему мнению :)

(хард языки, вроде ассемблера, не в счёт. там ещё всё интересней)

Цитата:

Сообщение от 9xakep
cURL - для чего он, если вкраце?

копирование файлов по протоколам с большим количеством опций. Работает на почти всех осях. Для PHP - в виде расширения.

(копирование следует понимать как "взять с сервера страничку")

B@rmaley.e><e 06.06.2012 17:39

Цитата:

Сообщение от 9xakep
вот нарыл такой код, но не знаю почему-то пишет, мол страница chat.php не найдена, хотя она есть, в чем может быть ошибка?

Попробуйте указать заголовок Host

Цитата:

Сообщение от 9xakep
Дибильный вопрос, но все же, я так понял, это что-то вроде get#post запросов, только с php страницы?

Что? С помощью сокетов можно получать данные не только в формате http, но и любом другом.
Цитата:

Сообщение от 9xakep
1) Как его номарльно оформлять и использовать?

Что значит "нормально"?
1. Открываем.
[2. Читаем]
[3. Пишем.]
[4. На шаг второй.]
5. Закрываем.
Цитата:

Сообщение от 9xakep
2) Когда и какие порты нужно использовать?

Те, которые слушаются на удалённом сервере.

9xakep 06.06.2012 19:47

Цитата:

Сообщение от melky
Моск у меня была ссылочка со многими известными паттернами (не для JS.. вообще)

Но вообще, их много на хабре и википедии.

Да я и так всегда им руководствовался) Просто подумал, что есть общепринятые правила..

Цитата:

Сообщение от melky
копирование файлов по протоколам с большим количеством опций. Работает на почти всех осях. Для PHP - в виде расширения.

Спасибо, може понадобиться когда-ниубдь, но не сейчас :)

Цитата:

Сообщение от B@rmaley.e><e
Что значит "нормально"?
1. Открываем.
[2. Читаем]
[3. Пишем.]
[4. На шаг второй.]
5. Закрываем.

Вау...спасибо. Теперь понятнее.
===========================
Сейчас читаю статью о Node.js. Возможно опрежающий вопрос, но все же, node.js он как оформляется, в файле php? или так же .js? И будет ли код виден юзерам? Или аналогично с php?

melky 06.06.2012 20:13

Цитата:

Сообщение от 9xakep
Сейчас читаю статью о Node.js. Возможно опрежающий вопрос, но все же, node.js он как оформляется, в файле php? или так же .js? И будет ли код виден юзерам? Или аналогично с php?

оформляется в js. исходный код не виден.

9xakep 06.06.2012 22:43

По поводу установки, прочитал несколько статей, малость запутался, как вообще представляется работа с node.js? Скачал это:

Этого будет достаточно? Или же надо выполнить все эти действия:


На этой странице?
P.S. я выбрал without -> node.exe

P.P.S. и соответсвенно все действия с нодой будут происходить в одной директории с node.exe

P.P.P.S. Node.js это по сути фреймворк? Который расширяет возможность обычного js, или нет? И еще, сервер будет его понимать, или потребуется как-то его тоже устанавливать?

melky 06.06.2012 23:03

Цитата:

Сообщение от 9xakep
Этого будет достаточно? Или же надо выполнить все эти действия:

да, достаточно. ты же не собираешься компилить софт под виндой?)

Цитата:

Сообщение от 9xakep
P.P.S. и соответсвенно все действия с нодой будут происходить в одной директории с node.exe

если скопировать её в рут, то её можно будет вызывать в любой директории (вроде бы, я не уверен)

Цитата:

Сообщение от 9xakep
P.P.P.S. Node.js это по сути фреймворк? Который расширяет возможность обычного js, или нет? И еще, сервер будет его понимать, или потребуется как-то его тоже устанавливать?

считай да. JS исполняется V8, который под капотом у Chrome.

9xakep 06.06.2012 23:14

Цитата:

да, достаточно. ты же не собираешься компилить софт под виндой?)
ух ты) отлично) Нет, не буду :D
Цитата:

если скопировать её в рут, то её можно будет вызывать в любой директории (вроде бы, я не уверен)
рут? Это случайно не линксоидное? У меня windows просто
[qoute]считай да. JS исполняется V8, который под капотом у Chrome.[/qoute]
ну тогда все еще легче :) Спасибо.
================
Эх, B@rmaley.e><e, хотел вам плюсик поставить за то что откликнулись, да ошибка, мол я тебе уже ставил :(


Часовой пояс GMT +3, время: 14:31.