簡體   English   中英

無法使用Socket.IO向客戶端廣播

[英]Can't broadcast to clients using Socket.IO

我的node.js服務器有一個間隔設置,可以每60秒調用一次名為“ spawnItem”的函數。 調用此函數時,它將執行以下代碼:

io.sockets.emit("spawn item", {x: 10, y: 10});

每次服務器嘗試執行此操作時,它將立即關閉並顯示:

TypeError:無法調用未定義的方法“ emit”

根據我在網上閱讀的所有內容,應該沒問題。

var util = require("util"),object inspection, etc),
io = require("socket.io"),
Player = require("./Player").Player;

該代碼位於頁面頂部,我認為這是所有需要的內容,還是我錯了? 我在它下面還有socket = io.listen(4339) 插座都在下面等配置

我也嘗試過做:

socket.broadcast.emit("spawn item", bla bla bla);
socket.emit("spawn item", bla bla bla);

我的目標是讓服務器告訴客戶端每60秒以某個x,y坐標生成一個項目,但是我無法讓服務器發送消息。

謝謝!

您沒有發布很多信息,但是我認為您使用的對象錯誤:

var io = require('socket.io');
io.sockets.emit(...); // Fails, wrong object.

相反,您需要使用listen返回的對象:

var io = require('socket.io').listen(4339);
io.sockets.emit(...); // Correct use.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM