Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration with Web Sockets #60

Open
misner5 opened this issue Aug 27, 2022 · 9 comments
Open

Integration with Web Sockets #60

misner5 opened this issue Aug 27, 2022 · 9 comments

Comments

@misner5
Copy link

misner5 commented Aug 27, 2022

Hello,

I saw your post on websocketpp where you proposed using PhotonLibOS to make a faster web socket server.

I wanted to encourage you - this would be awesome and very useful.
For sure faster web socket tool in C++ that makes use of io_uring would be amazing and likely break records.

If you integrated websockets into your library or integrated into websocketpp, myself and other C++ coders I know would be very interested. Please let me know if you hear of any developments in this area.

Cheers and thanks for this research & hard work,
Michael

@beef9999
Copy link
Collaborator

beef9999 commented Aug 28, 2022

Yes, we are definitely open to cooperations. But unfortunately, this project's orientation is toward the base library, and thus not likely to integrate many high level applications or frameworks. For now we just want to keep this lib small and clean, and squeeze the performance as much as the coroutines would potentially give.

But it doesn't mean we are reluctant to embrace them. As you may not know, Photon 0.3 is just about to release. It introduced a new photon::std namespace that includes a lot of equivalents from the std. Developers can easily do the search and replace in their own projects, and quickly transform a traditional thread-based programs to coroutine-based ones. We assume it will attract more high level applications to Photon.

Back to the cooperation with websocketcpp, I think some efforts are being done or not started.

  1. We are building an independent website for developers to view the documents. Now most of the docs hide in header files. Not so friendly to read and search.
  2. Maybe we need to build a live chat channel (Slack?), so we can answer developers' questions in time, and in short reply.

Any way, we are willing to provide any essential helps if you guys want to integrate Photon into your project.

Last but not least, Photon still doesn't support Windows yet. Is Windows essential to you?

@misner5
Copy link
Author

misner5 commented Aug 28, 2022

Ok awesome, thanks for the response.

Windows is not a factor for what we're doing. Our team does some Window coding on the desktop but on the server side we're Linux focused.

With websocketpp when I started I did a few tests on Windows with CMakeLists but when we got serious all the testing was on Linux. I had watch some YouTube videos on io_uring before coming across your github so obviously that's a Linux Kernel opportunity and pretty exciting.

I'll put a note on the websocketpp area. C++ people need to support each other, I think lots of people take it for granted and don't speak out on what is ground breaking and could move things forward.

@lihuiba
Copy link
Collaborator

lihuiba commented Aug 29, 2022

If you integrated websockets into your library or integrated into websocketpp, myself and other C++ coders I know would be very interested. Please let me know if you hear of any developments in this area.

It's wonderful if you are interested in writing a web socket binding / implementation for Photon. We are also planning support for HTTP/2 and /3.

And websocketpp looks great. Are you (one of) the author(s)?

@misner5
Copy link
Author

misner5 commented Aug 29, 2022

Actually I'm user of websocketspp, but not an author...
I'm currently doing lots of work in this space but haven't yet looked at writing a full web socket system.
But I can see you guys are onto something really exciting so was just chatting about the topic / area...

@lihuiba
Copy link
Collaborator

lihuiba commented Aug 30, 2022

Actually I'm user of websocketspp, but not an author... I'm currently doing lots of work in this space but haven't yet looked at writing a full web socket system. But I can see you guys are onto something really exciting so was just chatting about the topic / area...

Yes. In fact, one of our goals is trying to prove that a full-featured web server can be simpler and more performant than others. You are welcome to help it come true.

@sptrakesh
Copy link

It's wonderful if you are interested in writing a web socket binding / implementation for Photon. We are also planning support for HTTP/2 and /3.

Sorry for the off topic question, but any estimate for when HTTP/3 or 2 support is coming? We have a few APIs that are currently using the abandonware nghttp2-asio wrapper. Would be great to migrate to HTTP/3 😄

@lihuiba
Copy link
Collaborator

lihuiba commented Dec 18, 2023

HTTP/2 and /3 can be achieved via the libcurl binding.

@Coldwings have you tried this?

@sptrakesh
Copy link

HTTP/2 and /3 can be achieved via the libcurl binding.

@Coldwings have you tried this?

Oh, you were talking about HTTP client support, not server. I asked since I was looking for a replacement HTTP/2 (or 3) server implementation.

@lihuiba
Copy link
Collaborator

lihuiba commented Dec 19, 2023

We have planned for native support for HTTP/2/3, but we have currently have no resource to realize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants