[英]Client not receiving message from server
嗨,我有一個節點js服務器和即時通訊使用套接字進行通信。
指數:
<script src="socket.io/socket.io.js"></script>
客戶端JS:
var socket = io.connect("http://localhost:8081");
socket.on('hi', function(data){
console.log("g");
console.log(data);
});
因此,似乎可以很好地連接到服務器。 我有一個名為“ hi”的套接字,等待任何傳入的消息。 我添加了2個控制台日志,以防數據為空,它仍然會向控制台打印一些內容。
服務器:
var express = require("express");
var app = express();
var server = require("http").Server(app);
var io = require("socket.io")(server);
var mazeGenerator = require("generate-maze");
app.use(express.static("public"));
io.on("connection", function(socket) { // EDITED
console.log("A player has connected - sending maze data...");
socket.emit("hi", "hi");
});
因此,當我刷新頁面時,客戶端將連接,並且在CMD中,我會看到“播放器已連接...”控制台日志。 從那以后,它在服務器或客戶端上的空白,我可以一直刷新,並且會一直說,由客戶端控制台連接的播放器保持空白
由於已證明已建立連接,因此我懷疑這是發出數據的方式的問題。 根據,您的第二個參數hi
可能不會被視為要傳輸的數據
https://socket.io/docs/server-api/#socket-emit-eventname-args-ack
以我的理解, socket.io
發出Object
而不是String
所以您可以嘗試這樣做嗎?
io.on("connection", function(socket) {
console.log("A player has connected - sending maze data...");
socket.emit("hi", {data: "hi"});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.