5

Installed websocket and socket.io on the server. When I load the browser page, I get this error in the console: Uncaught TypeError: undefined is not a function (socket.io-1.2.1.js:1)

Here is the server side code:

// Require HTTP module (to start server) and Socket.IO
var http = require('http'), io = require('socket.io');

// Start the server at port 9602
var server = http.createServer(function(req, res){ 

    // Send HTML headers and message
    res.writeHead(200,{ 'Content-Type': 'text/html' }); 
    res.end('<h1>Hello Socket Lover!</h1>');
});
server.listen(9602);

// Create a Socket.IO instance, passing it our server
var socket = io.listen(server);

// Add a connect listener
socket.on('connection', function(client){ 

    // Success!  Now listen to messages to be received
    client.on('message',function(event){ 
        console.log('Received message from client!',event);
    });
    client.on('disconnect',function(){
        clearInterval(interval);
        console.log('Server has disconnected');
    });

});

And the client side code:

<script src="https://cdn.socket.io/socket.io-1.2.1.js"></script>

<script>       
    // Create SocketIO instance, connect
      var socket = new io.Socket('localhost',{
        port: 9602
      });
      socket.connect(); 

      // Add a connect listener
      socket.on('connect',function() {
        console.log('Client has connected to the server!');
      });
      // Add a connect listener
      socket.on('message',function(data) {
        console.log('Received a message from the server!',data);
      });
      // Add a disconnect listener
      socket.on('disconnect',function() {
        console.log('The client has disconnected!');
      });

      // Sends a message to the server via sockets
      function sendMessageToServer(message) {
        socket.send(message);
      }

    </script>

Any help is appreciated. k4elo

5
  • Isn't it just var socket = io(); these days, are you sure there is a io.Socket() function Commented Nov 28, 2014 at 17:01
  • What is clearInterval(interval); for? Commented Nov 28, 2014 at 17:02
  • It might help a lot to try the non-minified version of the library so that the error is more helpful. Commented Nov 28, 2014 at 17:06
  • Just trying sample code from socket.io to see if I can get a connection. <script src='/socket.io/socket.io.js'></script> didn't work-not found. This: <script src="cdn.socket.io/socket.io-1.2.1.js"></script> finds the file but still give the "undefined is not a function" error from line 1 of socket.io-1.2.1.js file. Commented Nov 28, 2014 at 18:10
  • If anyone can point me to a server and client example for socket.io that works, I would be very grateful. Commented Nov 28, 2014 at 18:38

2 Answers 2

4
var socket = io("http://127.0.0.1:9000");

// Add a connect listener
socket.on('connect',function() {
   console.log('Client has connected to the server!');
});

The above method works with the following cdn

Sign up to request clarification or add additional context in comments.

Comments

0

You are creating server on HTTP not HTTPS

<script src='/socket.io/socket.io.js'></script>

instead of script src="https://cdn.socket.io/socket.io-1.2.1.js">

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.