Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как работает ВК? (https://javascript.ru/forum/offtopic/29035-kak-rabotaet-vk.html)

9xakep 13.06.2012 15:38

Джэксон,
сделать сообщения с F5 - проще простого, и у меня получилось сделать эти сообщения и без F5 (они сами приходили без обновления), но (читать 1ый пост) система оочень не оптимизированна.
Цитата:

Сообщение от Джэксон
Сайт ВК существует уже около 10-ти лет и всё время обновляется.

дык появляются новые технологии, вот он и обновляется. Если бы тогда было бы столько, сколько и сейчас, они бы думаю сразу бы сделали что-нибудь подобное.
Цитата:

Сообщение от Джэксон
Начните с малого, а потом совершенствуйте своё творение до того, что вам нужно.

весь прикол в том, что это не то, что можно оттачивать помойму, тут отточишь одно, а дальше оттачивать уже нечего, нужно переходить на новую ступень. Так что нет, я начну с той ступени, с которой считаю нужным. Просто сейчас их так много, что толком не знаю куда ступить :)
Цитата:

Сообщение от dmitriymar
в фаирбаге посмотри внимательно на запросы контакта:
твой ид,ид кому идёт и информация

ты не представляешь сколько я в него уже просмотрел)

dmitriymar 13.06.2012 15:54

Цитата:

Сообщение от 9xakep
ты не представляешь сколько я в него уже просмотрел)

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

альтернатива применяемая ими сокетам это длинные запросы
схема такая:
запрос передаётся в node.js
определяются связанные пользователи с этими данными(исходя из полученных данных в запросе)
через сокты отдаётся информация связанным с этой информацией пользователям
на клиенте обрабатывается ответ полученный через сокет и производятся действия со страницей

9xakep 13.06.2012 17:45

dmitriymar,
то бишь, я могу на странице вот так сделать (P.S. моя страница: chat.com?with=2, собеседник: chat.com?with=1)
$message = " Hello World!!! "
$with = $_GET['with'];
$my_id = 1;
 При отправке сообщения, с помощью сокетов отправляю post запрос на страницу вида: "from=".$my_id."&to=".$with."&message=".$message;
При этом, так как все это на одной странице:
if ($_POST['with'] == $my_id && $_POST['to'] == $with) {
echo $message;
}

Ну это в общем? Я тебя правильно понял?
=====
node js я немного изучил, но мне кажется это слишком муторно?

dmitriymar 13.06.2012 18:03

http://i-novice.net/sokety-v-php/
с нодой будет всё проще намного. Изза того что в рнр всякий раз новый экземпляр создаётся приложения а в ноде колво операций сократиться в разы ну и базы нужно будет дёргать для постоянного получения ip того кому отсылать

B@rmaley.e><e 15.06.2012 17:53

Цитата:

Сообщение от 9xakep
P.S. B@rmaley.e><e, ты в вики случайно не работаешь?) Сколько ты помогаешь, всегда ссылки на википедию даешь)

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

tadjik1 16.06.2012 14:08

http://habrahabr.ru/post/127525/
UPD
https://github.com/LearnBoost/socket.../examples/chat

а в nginx роутишь чаты на ноду. это вообще 5 минут делов, на самом деле)
нода создана для чата =)

9xakep 19.06.2012 23:55

dmitriymar,
tadjik1,
B@rmaley.e><e,
Всем спасибо. Буду учить сокеты.


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