Iris: [FEATURE REQUEST] Socket.io Support?

Created on 26 Apr 2020  路  7Comments  路  Source: kataras/iris

Socket.io support?

https://socket.io/

question

Most helpful comment

@rebootcode it is not true golang is just for performance . golang is system language but node js is runtime . I use go for robotic . my company use go for os programing that you can not use node js. I support Iris in go web frameworks because it has many feature then other framework in go .
please you compare asp.net core feature with go frameworks features . most of go web framework
are just router that you can implement yourself . I Love Iris like the asp.net core because it is not just router you can use iris for complex Project .

All 7 comments

Hello @rebootcode, you can already use socket.io with Iris if you don't want to use the iris websocket/ neffos package. Take a look at: https://github.com/kataras/iris/tree/v12/_examples/websocket/socketio. I think you did ask for that in the past, am I right?

websocket/neffos

=> It's a complex app and there is no benchmark - Without a benchmark, it's hard to start.
=> Iris has got a lot many competitive "https://github.com/gofiber/fiber" and "https://github.com/savsgio/atreugo".
=> I need a high-performance app. IRIS no more provides performance it used to do earlier.

I am only now maintaining OLD app with IRIS 馃槩

@rebootcode
I before used Socket.io in my company . socket.io is good but it have many issue in complex logic.
but neffos is complete then socket.io . also neffos support pure gorilla and gobwas websoket So soket.io has slow performance then neffos. I promise neffos will give you better performance

https://github.com/gofiber/fiber yes fiber project is very clean and good project .i support this . i know @kataras has pull request in fiber project .
but fiber use fasthttp for router another thing It does not have the features of Iris for example Di

https://github.com/savsgio/atreugo it use fasthttp .
its good project but i prefer fiber then atreugo .

another thing fasthttp some time is slow then standard net/http library .

@majidbigdeli - Yes, https://github.com/gofiber/fiber is very clean and high performance.

Golang is for Performance. If non-performance developers prefer Nodejs over golang

@rebootcode it is not true golang is just for performance . golang is system language but node js is runtime . I use go for robotic . my company use go for os programing that you can not use node js. I support Iris in go web frameworks because it has many feature then other framework in go .
please you compare asp.net core feature with go frameworks features . most of go web framework
are just router that you can implement yourself . I Love Iris like the asp.net core because it is not just router you can use iris for complex Project .

@majidbigdeli

https://github.com/kataras/neffos is complex to understand to create basic room based chat room.

@rebootcode I support fiber, it's made by one of my online friends and Iris fan. But the truth is that both fiber and atreugo do not support HTTP/2 and gRPC as they are built with fasthttp. Also they use reflect on their handlers, they seem clean but they are not quite, they are just small. Iris does support HTTP/2 and gRPC out of the box, Iris is the fastest http/2 real web framework you ever meet. As @majidbigdeli said, others are mostly just routers and insecure tp use if you don't know the internals. Do you want to use http/1 on your future projects? Go ahead. About the neffos, there are stress-tests, just run them and see the difference between others like socketio.

EDIT: don't forget that the first person who created a web framework in top of fasthttp, was me, 4 years ago (back then, there wasn't even a router neither websocket or sessions, I built all alone from scratch). But when Go's std net/http package supported HTTP/2 and TLS I had to make a decision, I re-designed the whole framework and dropped fasthttp in order to support the future (http/2 and gRPC). After some time, Iris was used in production by companies, if I didn't take that decision back then, we would have a lot of issues now at 2020.

I answer your question, you can use socketio with Iris, we have an example of that at: https://github.com/kataras/iris/tree/v12/_examples/websocket/socketio

Was this page helpful?
0 / 5 - 0 ratings