-
-
Notifications
You must be signed in to change notification settings - Fork 471
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
Added recipes for socketio #2240
Conversation
Thanks for opening this pull request! 🎉 Please check out our contributing guidelines. |
WalkthroughThis update enhances the project documentation and introduces a new real-time communication feature. A link has been included in the documentation, guiding users to a newly implemented SocketIO chat example. This example, created using the Fiber web framework in Go, demonstrates a WebSocket server handling chat functionalities like connections, disconnections, message exchanges, and error management, serving as a valuable resource for developers keen on integrating real-time chat capabilities into their applications. Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to path filters (2)
socketio/go.mod
is excluded by:!**/*.mod
socketio/go.sum
is excluded by:!**/*.sum
Files selected for processing (2)
- README.md (1 hunks)
- socketio/main.go (1 hunks)
Additional comments: 8
README.md (1)
- 57-57: The addition of the Socket.io link to the list of recipes enhances the document by providing users with easy access to relevant resources. This change is consistent with the structure and purpose of the README.
socketio/main.go (7)
- 9-16: The package imports are correctly chosen for the functionalities required in this Socket.io chat example, including JSON handling, logging, and WebSocket communication.
- 18-23: The
MessageObject
struct is well-defined and appropriately represents a chat message with fields for the message data, sender, and recipient. The use of JSON tags is correct for data serialization.- 27-28: The declaration of the
clients
map is appropriate for tracking connected users by mapping their IDs to WebSocket UUIDs, facilitating targeted message delivery.- 30-31: The initialization of the Fiber application is standard and correctly sets up the foundation for the chat application.
- 33-42: The middleware setup for handling WebSocket upgrade requests is correctly implemented, ensuring that only requests intending to upgrade to WebSocket protocol are allowed to proceed.
- 44-96: The event handling for connect, message, disconnect, close, and error events is well-implemented, covering the essential functionalities required for a chat application, such as user management and message processing.
- 98-115: The WebSocket endpoint setup is correctly implemented, effectively handling new user connections by adding them to the clients map and broadcasting a welcome message to all connected users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@antoniodipinto please add a readme in the socketio folder describing what this example does
so that there are fewer questions from less experienced developers and the quick look at the readme makes your example more useful for every user
Sure, my bad, I believed that I pushed also the README in the folder. I'll do it later today/tomorrow |
Hi @ReneWerner87 please check whenever you have time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Congrats on merging your first pull request! 🎉 We here at Fiber are proud of you! |
Hi,
just added recipes for Socket.io, ping me if something is nok.
Recipes has been requested and added base on this gofiber/contrib#956
Summary by CodeRabbit