21

Re: Анонімний чат (тет-а-тет)

221VOLT написав:

запитали про алгоритми і реалізацію,
а нижче - знову срачег розводиться,
ай молодці :)

Якщо іф на дві умови є алгоритмом, який треба серйозно обговорювати, то у мене для вас погані новини.

22

Re: Анонімний чат (тет-а-тет)

VTrim написав:
quez написав:
VTrim написав:

Вище або спроба будь-яким способом товсто протролити PHP або людина не розуміє, що той список формується через відправку даних кожним користувачем, так само кожен користувач має отримати доступ до неї.
Про яку память ви говорите?

Оперативну, яку ж іще. Все те, що ви хотіли писати в бд, можна залишити в пам'яті, за умови, що аплікейшен на сервері продовжуватиме працювати. У випадку PHP такий спосіб може викликати деякі проблеми, про що ви безперечно знаєте.

І ви дійсно вважаєте таке зберігання кращим аніж в бд?

В PHP - ні, в інших мовах - скоріше всього так. Ви відмовляєтесь від зайвої сутності, не жертвуючи практично нічим.

Подякували: leofun011

23

Re: Анонімний чат (тет-а-тет)

А який об'єм даних ви плануєте тримати в памяті і чи можна наприклад список повідомлень реплейсу тримати в ній?

24

Re: Анонімний чат (тет-а-тет)

VTrim написав:

А який об'єм даних ви плануєте тримати в памяті і чи можна наприклад список повідомлень реплейсу тримати в ній?

Одного користувача, якому не знайшлось поки що пари, точно можу.

25

Re: Анонімний чат (тет-а-тет)

Bygryn написав:
iovchynnikov написав:

А не думали зробити на WebSockets + NodeJS? Буде справжній реал-тайм чат без усілякої магії з "демонами" php....
https://gist.github.com/martinsik/2031681

Чесно кажучи, це була перша думка, але не розумію, як на NodeJS зробити так, щоб 2-ох користувачів рандомно з'єднувало у приватний чат. Можливо маєте ідею?

Створіть масив ідентифікаторів сокетів (var users = []) і "реєструйте"/"дереєструйте" їх при підключенні/роз'єднані (users.push(socket_id)/users = users.filter(id => id !== disconnected_socket_id);).
Коли треба з'єднати, достатньо дістати 2 випадкових користувачів (http://stackoverflow.com/questions/9719 … from-array) і потім вже працювати з їхніми сокетами.

PS: Не пам'ятаю на певно чи є у ноді така абстракція як айді сокета. Можливо я помиляюся, тож доведеться просто з сокетами напрямую працювати.

Подякували: Bygryn, 221VOLT, leofun013

26

Re: Анонімний чат (тет-а-тет)

iovchynnikov написав:
Bygryn написав:
iovchynnikov написав:

А не думали зробити на WebSockets + NodeJS? Буде справжній реал-тайм чат без усілякої магії з "демонами" php....
https://gist.github.com/martinsik/2031681

Чесно кажучи, це була перша думка, але не розумію, як на NodeJS зробити так, щоб 2-ох користувачів рандомно з'єднувало у приватний чат. Можливо маєте ідею?

Створіть масив ідентифікаторів сокетів (var users = []) і "реєструйте"/"дереєструйте" їх при підключенні/роз'єднані (users.push(socket_id)/users = users.filter(id => id !== disconnected_socket_id);).
Коли треба з'єднати, достатньо дістати 2 випадкових користувачів (http://stackoverflow.com/questions/9719 … from-array) і потім вже працювати з їхніми сокетами.

PS: Не пам'ятаю на певно чи є у ноді така абстракція як айді сокета. Можливо я помиляюся, тож доведеться просто з сокетами напрямую працювати.

Спасибі