How To Build A Chat And Data Feed With WebSockets In Golang?
HTML-код
- Опубликовано: 5 сен 2024
- ► Join my Discord community for free education 👉 / discord
► Become a Patreon for more exclusive content 👉 / anthonygg_
► Buy my a coffee 👉 donate.stripe.....
► Follow me on Twitter 👉 / anthdm
► Follow me on GitHub 👉 github.com/anthdm
In this Golang tutorial, I'm going to teach you how to build a simple chat application and data feed by building our own custom WebSockets server in Golang.
#golang
► Join my Discord community for free education 👉 discord.com/invite/bDy8t4b3Rz
► Become a Patreon for exclusive tutorials👉 www.patreon.com/anthonygg_
► Buy me a coffee 👉 donate.stripe.com/aEU2a6ayH2uCa3u4gg
Thanks for watching
Love that you go in showing the concepts without a bunch of libraries. Keep it simple and then abstract later if needed!
this channel is hidden gold
For real
Hidden? What do you mean, I found it.
You've just single handedly motivated me to learn Golang more than I usually did.
This series of tutorials are awesome and I really appreciate this simplicity and minimalism of using standard libraries as much as possible.
Happy I could motivate you 🎉
😅😅😅lllleere2le
One thing I love about your videos is that you're going right to the point
Life is short. No time to waste. Margaritas are waiting.
I have never looked into sockets and always thought they would be really complicated - thanks for this!
Like your style! Speed of speech and simplicity of explanation make it lit! Awesome!
I don’t know Go but I don’t need to. I learned so much from this video, thank you!
Great tutorial video Anthony :)
I like your accent a lot .. where are you from mate :)?
This channel is a gold mine.
Great tutorial. A bit fast for my liking but it gave me good insights. Would've like to see a thread-safe implementation of the connection map, but I'll research that on my own
oh thank you very much for making this tutorial, I had been looking for a good one, and you explain it quite well, and the best thing taught by Jhony sins
Im also a fireman, plumber, and police office. Hide your girls.
I have subscribed. You make it look easy. I have no idea how it works because I come from TypeScript. The function syntax sort of is a little new to me. The map, create whatever is also all new to me. But will be studying this code. Thanks for this. Hope you make more useful content! Thanks!
Netflix for Software Developers, proven content creator!
All great videos and not just that your a very funny chap, which makes the videos more relatible then someone just saying do this and that. Keep it up!
You have a new subscriber. Thanks Anthony!
Thank you Anthony
Thank you for being here
So helpful, thank you. 10/10
Ty ❤️
but REALLY you SHOULD get the Nobel Simplification Prize bc you explained so well! Thank you, sir :)
"böfr a'la sörverr" :D
Great tutorial! I got write errors in the terminal when sending chat messages but these went away when I changed the port number. Was the port in use perhaps? Chat itself was functioning
Amazing Stuff, Let's Go😎
Great video. Big Thanks!
appreciate the zoom
So, do I understand correctly that if I want to have a list of online users, then, rather than having a database table for those, it makes more sense to use a feed and broadcast the list there? As DB is for stuff that needs to be accessed later and if I don't have to log who has been online, then I don't need to put it in the database?
Bro you doing great
there is a subtle bug, will take you hours to find it if you dont know whats happening underneath..
basically, you are not guaranteed that your messages come unchopped!
just implement a message terminator and read until you encounter a message terminator, which may require 5 reads, for example and once you have all the fragments of 1 message, you can process the message! otherwise its incomplete, probably not a big issue in a chat app, but very problematic when you are transferring structured data!
Brother can we get some architecture style vids? Or your opinions on them (hex, clean) or even ddd in golang? Maybe some design patterns that you think work well specifically with go?
I will make one next week.
Honestly man you’re killing it, will be looking into contributing to your patreon this week!
thanks for the sharing
thank you.
Good stuff!
Again, very nice. Could the actor model (e.g. your Hollywood library) be used with websockets, or would it be unnecessary?
Tonights stream covers this
hello. this video is very good. how to create tcp socket chat client / server custom protocol
Fantastic
When connecting to a Socket, do I need to download any libraries?
Excellent tutorial! How do I remove clients that have disconnected, as now they are still on the conns map after disconnecting and the next broadcast gives an error for use of closed network connection?
I answer my own question, in fuction readLoop add delete(s.conns, ws) before break in if err == io.EOF to delete disconnected clients :)
respect
Hello, I have a question. My server response 200, and seems all working fine, however in my browser I got 403 error...
Any ideas how to fix it?
GG, I appriciate when you care about the blind homies. 🤓
Oh yeah, a golang websockets online class with johnny sins.
He can easily make joke about high-end industry topics, as he has full control over the topics.
LOVE U
Awesome stuff
Could anyone tell me where you get info on the errors returned by library methods? In the video, he talks about Conn.Write returning EOF, but I can't seem to find the info on the golang site
Coould you please introduce tuntap packet reception and transmission for user space programs? TIA
This video made me feel old 😂
very awesome tutorial GG, but i may have some problems with the websocket Write() method. Since I do it step by step with your video(just SAME as your code), i can't figure out that why the server can't write to the browser, no matter the first /ws or the later /orderbookfeed, it turns out the console don't print the message from the server after setting up the onmessage method, what's wrong?🥺
You can't fool me Johnny Sins, you typed something else at 2:06
awesome
your furiously fast typing + all the mistakes == me every time i know what i am actually trying to do my heart when i'm programming and just trying to do it fast af lol. When i don't know what i'm doing by heart i make 0 mistakes
lmao the 1337 😂
蟹蟹
Didn't know Johnny Sins is into coding
Im also an astronaut, fireman, and plumber. Hide your girls everyone.
The package used by anthony is deprecated as of august 2024
my Holy Grail port: 81
I was searching for silver & found gold
Spread the word my man ❤️
ah huh you could have deleted the connection from conns on EOF
how would I connect to this server from another computer?
:8080. Definitely 8080!
code link ?
Age, sex, location?
3458 bc, god, Valhala
Age, sex, location.
Dafuq is heish
what about Content-Security-Policy?
I can't do what he's doing because of Content-Security-Policy. It happens also when I have a React app served by a Golang server, which is my core problem. In search of solutions. At least now, because of this video, I know it's a Content-Security-Policy problem. React / Chrome would just throw a 200 error and not say why. When I used the Chrome console directly, it spit out the Content-Security-Policy error. Chat GPT says for my React app, I need appropriate index.html headers. We'll see.
I had the same problem in this tut. But if u want to test your application locally, u could use the incognito tab in Google Chrome
I think that can be improved your current implementation does not work: i did this: err = websocket.Message.Send(ws, "gracias amigo for el mensaje!!")
if err != nil {
log.Printf("write error: %s", err.Error())
return
}