簡體   English   中英

Socket.io:“無法讀取未定義的屬性'emit'”

[英]Socket.io : “Cannot read property 'emit' of undefined”

因此,我目前正在使用socket.io開發我的網站。

今天,在實現套接字的過程中,我遇到了一個小錯誤“無法讀取未定義的屬性'emit'”,我找不到代碼中的錯誤,希望大家能為我提供幫助。

App.js:

var socket  = require( 'socket.io' );
var express = require('express');
var app     = express();
var server  = require('http').createServer(app);
var io      = socket.listen( server );
var port    = 9999;

server.listen(port, function () {
  console.log('Listening at port %d', port);
});

io.sockets.on('connection', function (socket) {
    console.log('User connected');

    socket.on('create_socket', function(port){
    console.log(port);
});

客戶端:

<div>
    <p class="connected" hidden>Connected port : 9999</p>
    <p class="connect_error" hidden><strong>Can not connect to socket on port 9999</strong></p>
</div>

<script>
    var socket = io.connect("http://localhost:9999");

    // If connection can not be established
    socket.on('connect_error', function(socket) {
        $('.connected').hide();
        $('.connect_error').show();
    });

    // Connection established
    socket.on('connect', function(socket) {
        $('.connect_error').hide();
        $('.connected').show();
       // socket.on('create_socket', null, <?= $port; ?> );
       socket.emit('create_socket', '<?= $port; ?>');
    });
</script>

順便說一句,所有的socket.io/jquery / ...包含都正確完成,即使它們未出現在代碼上

提前致謝

客戶代碼:

更改

// Connection established
    socket.on('connect', function(socket) {

// Connection established
    socket.on('connect', function(data) {

最后:

// Connection established
    socket.on('connect', function(data) {
        $('.connect_error').hide();
        $('.connected').show();
       console.log(data);
       socket.emit('create_socket', '<?= $port; ?>');
    });

以前,您在哪里覆蓋套接字對象。

暫無
暫無

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

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