Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Очень много очень глупых вопросов.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
netwixell
Отправлено: 06 Ноября, 2013 - 18:20:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Апр. 2012  


Помог: 1 раз(а)

[+]


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

PHP:
скопировать код в буфер обмена
  1. 1//////////////////////////////
  2. # cd /usr/local
  3. # git clone git://github.com/kakserpom/phpdaemon.git
  4. # chmod +x phpdaemon/bin/phpd
  5. # ln -s /usr/local/phpdaemon/bin/phpd /usr/bin/phpd
  6. 2//////////////////////////////
  7. $ svn checkout http://phpdaemon.googlecode.com/svn/trunk $path/
  8. 3//////////////////////////////
  9. $sudo python standalone.py -p 9998 -w ../example/
  10. $ sudo make install
  11. $ node --version
  12. 4//////////////////////////////
  13. cd "C:\Program Files (x86)\nodejs"
  14. npm install websocket
  15. 5//////////////////////////////
  16. #!/usr/bin/env node
  17. //////////////////////////////

(Отредактировано автором: 06 Ноября, 2013 - 18:20:24)

 
 Top
IllusionMH
Отправлено: 06 Ноября, 2013 - 18:38:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




netwixell, ну так легко гуглить в основном - первое слово в строке.
до 10 строчки а потом 15 - команды для терминала линуха, потом идут команды для node.js и npm под виндой.

(Отредактировано автором: 06 Ноября, 2013 - 18:40:58)

 
 Top
Stierus Супермодератор
Отправлено: 07 Ноября, 2013 - 08:09:25
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




phpdaemon
nodejs
websocket

Довольно странно что-то изучать лишь из-за того, что про это написано в каком-то скрипте, суть которого вы всеравно не понимаете оО
 
My status
 Top
netwixell
Отправлено: 07 Ноября, 2013 - 11:25:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Апр. 2012  


Помог: 1 раз(а)

[+]


Можно ли поставить ws на localhost denwer ?

сделал следующее
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Microsoft Windows [Version 6.1.7601]
  3. Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
  4.  
  5. d:\server\home\test.ru\www>npm install socket.io
  6. npm http GET https://registry.npmjs.org/socket.io
  7. npm http 304 https://registry.npmjs.org/socket.io
  8. npm http GET https://registry.npmjs.org/socket.io-client/0.9.16
  9. npm http GET https://registry.npmjs.org/policyfile/0.0.4
  10. npm http GET https://registry.npmjs.org/base64id/0.1.0
  11. npm http GET https://registry.npmjs.org/redis/0.7.3
  12. npm http 304 https://registry.npmjs.org/socket.io-client/0.9.16
  13. npm http 304 https://registry.npmjs.org/base64id/0.1.0
  14. npm http 304 https://registry.npmjs.org/redis/0.7.3
  15. npm http 304 https://registry.npmjs.org/policyfile/0.0.4
  16. npm http GET https://registry.npmjs.org/uglify-js/1.2.5
  17. npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2
  18. npm http GET https://registry.npmjs.org/ws
  19. npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1
  20. npm http 304 https://registry.npmjs.org/uglify-js/1.2.5
  21. npm http 304 https://registry.npmjs.org/active-x-obfuscator/0.0.1
  22. npm http 304 https://registry.npmjs.org/xmlhttprequest/1.4.2
  23. npm http 304 https://registry.npmjs.org/ws
  24. npm http GET https://registry.npmjs.org/zeparser/0.0.5
  25. npm http GET https://registry.npmjs.org/commander
  26. npm http GET https://registry.npmjs.org/tinycolor
  27. npm http GET https://registry.npmjs.org/options
  28. npm http GET https://registry.npmjs.org/nan
  29. npm http 304 https://registry.npmjs.org/zeparser/0.0.5
  30. npm http 304 https://registry.npmjs.org/tinycolor
  31. npm http 304 https://registry.npmjs.org/nan
  32. npm http 304 https://registry.npmjs.org/options
  33. npm http 304 https://registry.npmjs.org/commander
  34.  
  35. > ws@0.4.31 install d:\server\home\test.ru\www\node_modules\socket.io\node_modul
  36. es\socket.io-client\node_modules\ws
  37. > (node-gyp rebuild 2> builderror.log) || (exit 0)
  38.  
  39.  
  40. d:\server\home\test.ru\www\node_modules\socket.io\node_modules\socket.io-client\
  41. node_modules\ws>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\
  42. \..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
  43. socket.io@0.9.16 node_modules\socket.io
  44. ├── base64id@0.1.0
  45. ├── policyfile@0.0.4
  46. ├── redis@0.7.3
  47. └── socket.io-client@0.9.16 (xmlhttprequest@1.4.2, uglify-js@1.2.5, ws@0.4.31, a
  48. ctive-x-obfuscator@0.0.1)

(Добавление)
Не понимаю что значит клиентская часть и серверная часть

(Отредактировано автором: 07 Ноября, 2013 - 12:24:54)

 
 Top
esterio
Отправлено: 07 Ноября, 2013 - 12:35:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




netwixell пишет:
Не понимаю что значит клиентская часть и серверная часть

Пример из PHP
браузер - клиент
PHP - сервер
Что здесь не понятно?
 
 Top
netwixell
Отправлено: 07 Ноября, 2013 - 12:53:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Апр. 2012  


Помог: 1 раз(а)

[+]


Значит что я делаю.
я все делаю на denwere на локалке
через командную строку npm install socket.io
в папке test.ru появилась папка node_modules\socket.io
я нащел мануал где описаны исходники создал файлы как они описаны в этом посте.
На сервере положил 3 файла:

client.js

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. // Создаем текст сообщений для событий
  3. strings = {
  4. 'connected': '[sys][time]%time%[/time]: Вы успешно соединились к сервером как [user]%name%[/user].[/sys]',
  5. 'userJoined': '[sys][time]%time%[/time]: Пользователь [user]%name%[/user] присоединился к чату.[/sys]',
  6. 'messageSent': '[out][time]%time%[/time]: [user]%name%[/user]: %text%[/out]',
  7. 'messageReceived': '[in][time]%time%[/time]: [user]%name%[/user]: %text%[/in]',
  8. 'userSplit': '[sys][time]%time%[/time]: Пользователь [user]%name%[/user] покинул чат.[/sys]'
  9. };
  10. window.onload = function() {
  11. // Создаем соединение с сервером; websockets почему-то в Хроме не работают, используем xhr
  12. if (navigator.userAgent.toLowerCase().indexOf('chrome') != -1) {
  13. socket = io.connect('http://test.ru:8080', {'transports': ['xhr-polling']});
  14. } else {
  15. socket = io.connect('http://test.ru:8080');
  16. }
  17. socket.on('connect', function () {
  18. socket.on('message', function (msg) {
  19. // Добавляем в лог сообщение, заменив время, имя и текст на полученные
  20. document.querySelector('#log').innerHTML += strings[msg.event].replace(/\[([a-z]+)\]/g, '<span class="$1">').replace(/\[\/[a-z]+\]/g, '</span>').replace(/\%time\%/, msg.time).replace(/\%name\%/, msg.name).replace(/\%text\%/, unescape(msg.text).replace('<', '<').replace('>', '>')) + '<br>';
  21. // Прокручиваем лог в конец
  22. document.querySelector('#log').scrollTop = document.querySelector('#log').scrollHeight;
  23. });
  24. // При нажатии <Enter> или кнопки отправляем текст
  25. document.querySelector('#input').onkeypress = function(e) {
  26. if (e.which == '13') {
  27. // Отправляем содержимое input'а, закодированное в escape-последовательность
  28. socket.send(escape(document.querySelector('#input').value));
  29. // Очищаем input
  30. document.querySelector('#input').value = '';
  31. }
  32. };
  33. document.querySelector('#send').onclick = function() {
  34. socket.send(escape(document.querySelector('#input').value));
  35. document.querySelector('#input').value = '';
  36. };             
  37. });
  38. };
  39.  


server.js

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. // Подключаем модуль и ставим на прослушивание 8080-порта - 80й обычно занят под http-сервер
  3. var io = require('socket.io').listen(8080);
  4. // Отключаем вывод полного лога - пригодится в production'е
  5. io.set('log level', 1);
  6. // Навешиваем обработчик на подключение нового клиента
  7. io.sockets.on('connection', function (socket) {
  8. // Т.к. чат простой - в качестве ников пока используем первые 5 символов от ID сокета
  9. var ID = (socket.id).toString().substr(0, 5);
  10. var time = (new Date).toLocaleTimeString();
  11. // Посылаем клиенту сообщение о том, что он успешно подключился и его имя
  12. socket.json.send({'event': 'connected', 'name': ID, 'time': time});
  13. // Посылаем всем остальным пользователям, что подключился новый клиент и его имя
  14. socket.broadcast.json.send({'event': 'userJoined', 'name': ID, 'time': time});
  15. // Навешиваем обработчик на входящее сообщение
  16. socket.on('message', function (msg) {
  17. var time = (new Date).toLocaleTimeString();
  18. // Уведомляем клиента, что его сообщение успешно дошло до сервера
  19. socket.json.send({'event': 'messageSent', 'name': ID, 'text': msg, 'time': time});
  20. // Отсылаем сообщение остальным участникам чата
  21. socket.broadcast.json.send({'event': 'messageReceived', 'name': ID, 'text': msg, 'time': time})
  22. });
  23. // При отключении клиента - уведомляем остальных
  24. socket.on('disconnect', function() {
  25. var time = (new Date).toLocaleTimeString();
  26. io.sockets.json.send({'event': 'userSplit', 'name': ID, 'time': time});
  27. });
  28. });
  29.  


index.html

CODE (html):
скопировать код в буфер обмена
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Chat</title>
  6. <link href="style.css" rel="stylesheet">
  7. <script src="http://test.ru:8080/socket.io/socket.io.js"></script>
  8. <script src="client.js"></script>
  9. </head>
  10. <body>
  11. <div id="log"></div><br>
  12. <input type="text" id="input"><input type="submit" id="send" value="Send">
  13. </body>
  14. </html>


помогите плиз
 
 Top
IllusionMH
Отправлено: 07 Ноября, 2013 - 13:01:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




netwixell, какое отношение денвер имеет к node.js?
 
 Top
netwixell
Отправлено: 07 Ноября, 2013 - 13:04:43
Post Id


Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Апр. 2012  


Помог: 1 раз(а)

[+]


IllusionMH,
Я спрашиваю можно ли организовать WebSocked на локальной машине ?
 
 Top
esterio
Отправлено: 07 Ноября, 2013 - 13:07:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Ответ ДА, только еще раз вопрос
IllusionMH пишет:
какое отношение денвер имеет к node.js?

(Добавление)
http://nodejs[dot]org/download/
 
 Top
netwixell
Отправлено: 07 Ноября, 2013 - 14:27:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Апр. 2012  


Помог: 1 раз(а)

[+]


esterio,
Все же я не понимаю как на домене использовать node js.
Как можно использовать это на сайте ?
К серверу это прикручивается таким же образом ?
(Добавление)
Я понимаю что и ак делается в мануале-видео но я не понимаю что может значить node js lkz моего сата и как я на сайте могу его прикрутить ?
 
 Top
IllusionMH
Отправлено: 07 Ноября, 2013 - 14:42:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




netwixell, node.js это серверная технология основанная на JS движке V8. Для ноды нужен либо отдельный node.js хостинг(которые в самых дешевых вариантах стоят порядком дороже простых php, хотя есть ограниченно бесплатные) либо иметь свой VPS. На обычном хостинге не взлетит.
Так что либо искать мануалы для php, либо изучать что такое node.js.
Как вообще можно что-то начинать делать, даже поверхностно не изучив предмет?
 
 Top
Stierus Супермодератор
Отправлено: 07 Ноября, 2013 - 15:42:36
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




а чем локальная машина отличается от любой другой?
 
My status
 Top
IllusionMH
Отправлено: 07 Ноября, 2013 - 15:46:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)





Stierus, навыком "админа"

(Отредактировано автором: 07 Ноября, 2013 - 15:47:03)

 
 Top
netwixell
Отправлено: 07 Ноября, 2013 - 16:46:04
Post Id


Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Апр. 2012  


Помог: 1 раз(а)

[+]


Благодаря этой переписке я немного хоть начал понимать о чем идет речь спасибо всем кто ответил.
Задам следующий глупый вопрос. Есть ли какие-то аналогичьные (Websocked) технологии без использования sleep(), setTimeout(), бескончьных циклов, которые по сути просто разорвут сервер при большом количестве пользователей.?

В правилах форума не написано, что запрещено "тупить".

(Отредактировано автором: 07 Ноября, 2013 - 16:47:06)

 
 Top
esterio
Отправлено: 07 Ноября, 2013 - 17:37:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




гугл подсказивает, что их много - websockets, long polling, comet etc.
http://habrahabr[dot]ru/post/80466/
но я рекомендую использовать socket.io
http://socket[dot]io/
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB