2015-03-09 2 views
0

привет. Я пытаюсь разработать простую чат-приложение, используя socket.io и express.Сервер запускает событие клиента дважды

Мой вопрос: когда пользователь отправить сообщение испускать событие на сервер и сервер вещания на остальных clients- это происходит дважды То есть все то, что я не могу выяснял: почему socket.broadcast.emit («setMessage» срабатывает дважды в браузере setMessage

https://github.com/ntorbev/chat

любая помощь будет признателен

+0

Добро пожаловать в StqackOverflow.please покажите нам код, вызывающий проблему. –

+0

hi это нормально перечислить мое репо в github, который я перечислил выше – ntorbev

+0

В файле sockets.js я не понимаю, какие сокеты находятся в строке 7: «io.sockets.on»? Из учебника http://socket.io/get-started/chat/ просто используйте io.on («connection», function (socket). На вашем обработчике «newMessage» я попробовал io.emit на стороне клиента, вместо socket.broadcast.emit и использовать это на стороне сервера для отправки сообщения кому угодно, кроме отправителя – lkostka

ответ

0

проблема заключается в том, что в layout.jade, вы в том числе chat.js дважды

doctype html 
html 
    block head 
     title= title 
     link(rel='stylesheet', href='/css/site.css') 
     script(type="text/javascript" src="/lib/jquery/dist/jquery.js") 
     script(type='text/javascript', src='/socket.io/socket.io.js') 
     script(type='text/javascript', src='/javascripts/chat.js') 
     script(type='text/javascript', src='/javascripts/chat.js') 
    body 
     header#banner 
     //h1 Awesome Chat 
     block content 
     //footer Hope you enjoy your stay here 
+0

Привет, 10x для повтора , но я делаю это по причине socket .broadcast.emit будет выдавать всем, кроме отправителя, почему я делаю это , если я упомянула, что вы будете отправителем, не показывающим, что он/она напечатает, и получатель снова увидит дважды сообщение. обязательно – ntorbev

+0

@ntorb ev проблема заключается в том, что вы включаете chat.js дважды. Я отредактировал свой ответ. –

+0

спасибо Юрию. Очень глупо с моей стороны, что очень важно решить эту проблему – ntorbev

Смежные вопросы