套接字IO广播问题

时间:2016-12-30 21:01:16

标签: node.js sockets socket.io

我有一个小聊天应用程序。我想只向最新或最后一位用户发送消息以加入聊天室。 当我使用时:

socket.broadcast.emit('chat message');

这(广播)与我想要完成的事情相反。是否有一个不同的内置功能,我可以使用而不是广播?我也试过没有广播发射,并发送给每个人。我将不胜感激任何帮助。 Thansk。

1 个答案:

答案 0 :(得分:0)

public class MainGUI { public static void main(String[] args) { JFrame start_frame = new JFrame("P.D"); int width = 1200; int height = 800; start_frame.setSize(width, height); start_frame.setVisible(true); start_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Panel to hold our buttons JPanel start_panel = new JPanel(); start_panel.setLayout(null); start_frame.add(start_panel); // Button to initialize everything JButton start_button = new JButton("Start"); buttonWidth = 80; buttonHeight = 20; start_button.setBounds(new Rectangle((width - buttonWidth)/2, (height - buttonHeight)/2, buttonWidth, buttonHeight)); start_button.setSize(new Dimension(buttonWidth, buttonHeight)); start_button.setFocusable(false); start_panel.add(start_button); } } 仅发送给该特定套接字。这是你如何发送到一个插座。

因此,获取所需的套接字对象并调用socket.emit()

另一方面,

socket.emit()发送到所有套接字,如果在.broadcast()对象中调用,或者发送到所有套接字,但如果与io一起使用,则发送到当前套接字。

以下是各种选项的完美摘要:https://stackoverflow.com/a/10099325/816620