| Realtime application framework | Runtime Evironment library

 by   socketio TypeScript Version: 4.7.2 License: MIT

kandi X-RAY | Summary

kandi X-RAY | Summary is a TypeScript library typically used in Server, Runtime Evironment, Nodejs applications. has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Realtime application framework (Node.JS server)

            kandi-support Support

     has a medium active ecosystem.
              It has 58421 star(s) with 10198 fork(s). There are 1548 watchers for this library.
              There were 4 major release(s) in the last 6 months.
              There are 116 open issues and 3229 have been closed. On average issues are closed in 330 days. There are 9 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of is 4.7.2

            kandi-Quality Quality

     has 0 bugs and 0 code smells.

            kandi-Security Security

     has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
     code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

     is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

     releases are available to install and integrate.
     saves you 469 person hours of effort in developing the same functionality from scratch.
              It has 1615 lines of code, 0 functions and 131 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed and discovered the below as its top functions. This is intended to give you an instant insight into implemented functionality, and help decide if they suit your requirements.
            • Creates iterator for iterable
            • Initialize a new server .
            • Initialize the server .
            • convert URI to URI
            • Function to register a new service and register it on the SWF page .
            • Wrap the super class function .
            • Registers the service worker .
            • Recursively decstruct data structures .
            • Checks if a binary object is binary .
            • Look for a URI .
            Get all kandi verified functions for this library.

   Key Features

            No Key Features are available at this moment for

   Examples and Code Snippets

            JavaScriptdot img1Lines of Code : 359dot img1License : Non-SPDX (NOASSERTION)
            copy iconCopy
            // OObject is a container for DOM elements
            var widget = new OObject();
            // List w  
            JavaScriptdot img2Lines of Code : 113dot img2no licencesLicense : No License
            copy iconCopy
            const express = require('express')
            const socket = require('')
            const http = require('http')
            const fs = requir  
            autohost,autohost( config ),Configuration
            JavaScriptdot img3Lines of Code : 77dot img3License : Permissive (MIT)
            copy iconCopy
            // default shown for each property
            	static: './public', 	// where to host static resources from
            	anonymous: [], 			// add paths or url patterns that bypass authentication and authorization,
            	port: 8800, 			// host port
            	urlPrefix: undefined, 	// a  
   | Should I wrap my route handlers inside io.on('connection')?
            Lines of Code : 16dot img4License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
  '/something', (req, res) => {
    'something', doSomethingWith(req.body))
            socket = io(`http://localhost:${port}`, { transports: ['websocket'] })
            copy iconCopy
            const socketCookieName = "socketUser";
            const cookieParser = require('');
            io.on('connection', function(socket) {
                // all parsed cookies in socket.request.cookies
                let user = socket.
            Flutter (emulator) doesn't connect to local
            Lines of Code : 33dot img6License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            http://localhost:3000 # port can change, check your node.js config
            http://:3000 # you can check it in the preferences or terminal -> ipconfig
            http://localhost:3000 # port can change, check y
            copy iconCopy
            // Socket.IO Cheatsheet
            // Add socket to room
            socket.join('some room');
            // Remove socket from room
            socket.leave('some room');
            // Send to current client
            socket.emit('message', 'this is a test');
            // Send to all clients include sender
            Cannot GET / using node.js + to connect client to server
            Lines of Code : 9dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            // this should be AFTER server setup
            app.use((req, res) => {
               res.send('Hello world');
            http.listen(3000, function() {
                console.log('listening on *:3000');
            copy iconCopy
            //Assume tweetDB is the DB 
            //Assume you have setup
            //MongoDB Change Stream
            const changeStream =;
            changeStream.on('change', (changes) => {
            //Add a event emitter
            How to establish connection for socket io and graphql?
            Lines of Code : 49dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            // Node modules imports
            require('dotenv').config({ path: './variables.env' })
            const express = require('express')
            const socketio = require('')
            const { ApolloServer, gql } = require('apollo-server-express')
            // Initalizes the app se

            Community Discussions


            Socket IO flutter not connecting
            Asked 2022-Apr-01 at 22:50

            I am facing an issue connecting my socket io flutter client to my nodejs socket io server. I am aware of the compatibility issue between the node socket io package and the flutter socket io client package. Hence, I installed only compatible versions of dependencies on both ends.

            i.e., for flutter



            Answered 2022-Apr-01 at 22:50

            As per the socket_io client readme

            In Flutter env. not (Flutter Web env.) it only works with dart:io websocket, not with dart:html websocket or Ajax (XHR), so in this case you have to add setTransports(['websocket']) when creates the socket instance.

            Try adding an options Map when you initialize your socket.

            This is just a different way of doing the same thing from the example in



            Express.js, how to pass jwt cookie to
            Asked 2022-Mar-25 at 16:37

            I have a login route that eventually create a jwt cookie named access_token. After the login the client will receive this cookie and will send it on every request. However I didn’t found a way to pass this cookie on to

            Server side login route :



            Answered 2022-Mar-25 at 16:37
            1. Solution

            Assuming that you have only one cookie which is your jwt, you could get it with the socket param like so :



            Socket.IO - socket.on not being ran
            Asked 2022-Mar-23 at 14:41

            I have created a custom async emitter to have a server -> client -> server method.

            However, it doesn't work as expected. It emits the event, but does not run the callback.

            With Socket.IO debugging enabled, I can see that the is logging that it is emitting the correct event.

            Function code:



            Answered 2022-Mar-21 at 15:06

            Callbacks with are different and are generally referred to as acknowledgement functions

            In order to implement callbacks, the sender would need to add the function to the last parameter of the socket.emit() call.





            How to handle duplicate packages from NPM package?
            Asked 2022-Mar-10 at 15:14

            I have an NPM package I am working on which has a dependency of react. I then have a test app which has react installed as a dependency. When I import my npm package into the test app, I get the following error:

            Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:

            1. You might have mismatching versions of React and the renderer (such as React DOM)
            2. You might be breaking the Rules of Hooks
            3. You might have more than one copy of React in the same app

            Running npm ls react in my test app suggests I might have a duplicate of react:



            Answered 2022-Mar-10 at 15:14

            It was not clear from the question description, but looking at the repo, I see that the package is installed locally.



            Get unique user identificator, which doesn't change even upon page refresh
            Asked 2022-Mar-01 at 16:32

            Is there any trick to get a unique user identifier, which doesn't change, when the user refreshes the browser? I've tried and sessionID from express, but those change when the user refreshes the browser.

            Why? I'm trying to make a game without the need to log in. The User class will create a lobby with friends and then start the game, which will be locked for any other users, but I want to make the feature, that if the user who has already started/joined any game will refresh the browser, he will be reconnected to his game.

            I'd already set up the database which is ready for the unique user identifier, so the lobby/game will know who will be authorized to join and who will be not.

            Code of how my sessions are set up:



            Answered 2022-Mar-01 at 16:01

            I found out why my sessionID was changing upon every request. It was because I wasn't saving anything in the session (because I was just printing the sessionID, wondering if it will change), so the session was dropped and on new request the new session was created etc. I should have read more documentation on express sessions.

            Anyway, if anyone was wondering how to save something in the session, here is an simple example which counts how many times you visited the website.



   connection intact but React component that never unmounts becomes unresponsive to socket events after page navigation
            Asked 2022-Feb-23 at 16:37


            • in React with react-router-dom
            • Socket instance passed to child components via useContext
            • Backend built using Express

            Navbar listens for socket events to update counters for unread messages. Everything works fine until user navigates to a different page. Once a navigation occurs, the socket in navbar (which never unmounts) is unresponsive to future events being emitted from the server even though the connection is intact.

            Expected behaviour:
            Navbar socket remains responsive to emits from server after page navigation.

            Other areas of the app where socket is utilized remains functional even while navbar socket is unresponsive. The navbar socket becomes responsive again when page is refreshed but the same problem repeats after page navigation. The navbar is the only component that doesn't unmount when a navigation occurs while components mounted on navigation is loaded with the socket instance via useContext.

            As far as I can see, connection is never broken (disconnect event never fires on server-side) and the newly mounted component can emit an event, server responds, and emits a response back to client where the new component responds while the navbar doesn't.

            Other notes:
            This is the first question I've ever asked so my apologies in advance if the question is poorly formatted. The code is obviously simplified to leave out areas where it seems to not affect the problem. The server-side code is omitted because it seems to receive and emit events without any problems.



            Answered 2022-Feb-23 at 15:35

            Since your socket wants to live from first page load until you close the page (I assume so..) I suggest to decouple socket initialisation from React. It just doesn't seem right to put it in a ref because even the app component has still a chance to unmount and mount again (as you experienced on page load) or to do other sideeffects to it.

            For example have a file socket.js



            no affect on CORS enabling with NESTJS
            Asked 2022-Jan-31 at 21:31

            I fail to enable the CORS for testing with the latest NestJS 8.0.6 and a fresh http + ws project. That said, I want to see the Access-Control-Allow-Origin in the servers response (so that the client would accept it). Here is my main.ts where I've tried 3 approches: 1) with options, 2) with a method, 3) with app.use. None of them works.



            Answered 2021-Sep-20 at 20:29

            The enableCors and { cors: true } options are for the HTTP server (express or fastify). The URL given showing the CORS error came from a connection. To enable CORS for you need to use the options in the @WebsocketGateway() decorator, like



            JS,, Phaser3, Object Not Being Created
            Asked 2022-Jan-22 at 18:04

            I'm a JS, phaser3 and newbie and I really want to learn.

            Code Context:

            • Phaser3
            • Loading state of game room before socket connects
            • Generating the NPC's and players
            • fails when there's an attempt to access NPC's (mass) sprite in the same callback it was created


            • Cannot access the sprite property, and in general seems like the object wasn't created in the first place

            I have the socket listening in Phaser3's "create()" function for "universeState" after it has connected to the socket server. index.js:



            Answered 2022-Jan-22 at 18:04

            The reason why you cant access the property is "easy", it's because the this.state.state.mass object is empty.

            since te output:



            angular 13: Module not found: Error: Can't resolve 'rxjs/operators'
            Asked 2022-Jan-22 at 05:29

            I have upgraded my angular to angular 13. when I run to build SSR it gives me following error.



            Answered 2022-Jan-22 at 05:29

            I just solve this issue by correcting the RxJS version to 7.4.0. I hope this can solve others issue as well.



            React/ not displaying latest message passed down as prop
            Asked 2022-Jan-13 at 17:37

            I am working on a chat application using React and Back end is express/node. The relevant components are: Room.js --> Chat.js --> Messages.js --> Message.js

            messageData received from the server is stored in state in Room.js. It is then passed down through Chat.js to Messages.js, where it is mapped onto a series of Message.js components.

            When messages are received, they ARE appearing, but only after I start typing in the form again, triggering messageChangeHandler(). Any ideas why the Messages won't re-render when a new message is received and added to state in Room.js? I have confirmed that the state and props are updating everywhere they should be--they just aren't appearing/re-rendering until messageChangeHandler() triggers its own re-render.

            Here are the components.




            Answered 2022-Jan-11 at 19:44

            Changing the useEffect in room to contain the following fixed the issue:


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported


            You can download it from GitHub.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • npm

            npm i

          • CLONE
          • HTTPS


          • CLI

            gh repo clone socketio/

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link