► 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
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.
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!
I have just visited your channel. After watching the videos, I have to say I feel like everything is very simple. We can do it. Just open vscode and write the stuff. ezpz like you said. LOL btw, I like the way you show the concept instead of using a lib and then say "ezpz". You let me know the core not only the implementation. Now I can do it in many languages which I know
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
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!
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
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?
"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
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
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?
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?
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!
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?🥺
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
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 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 }
► 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!
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.
this channel is hidden gold
For real
Hidden? What do you mean, I found it.
Not really all that hidden, but ok.
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!
This channel is a gold mine.
I don’t know Go but I don’t need to. I learned so much from this video, thank you!
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!
I have just visited your channel. After watching the videos, I have to say I feel like everything is very simple. We can do it. Just open vscode and write the stuff. ezpz like you said. LOL
btw, I like the way you show the concept instead of using a lib and then say "ezpz".
You let me know the core not only the implementation. Now I can do it in many languages which I know
You have a new subscriber. Thanks Anthony!
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!
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
but REALLY you SHOULD get the Nobel Simplification Prize bc you explained so well! Thank you, sir :)
Great tutorial video Anthony :)
I like your accent a lot .. where are you from mate :)?
damn you right, need a nobel prize for simplifaction
Great video. Big Thanks!
So helpful, thank you. 10/10
Ty ❤️
8:25 - My "Holy Grail port" is 7777. I call it my "jackpot" port! lol
Nobel prize for simplification should be a thing lol!!
appreciate the zoom
Amazing Stuff, Let's Go😎
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
Thank you Anthony
Thank you for being here
Good stuff!
"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
You can't fool me Johnny Sins, you typed something else at 2:06
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
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!
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 :)
Coould you please introduce tuntap packet reception and transmission for user space programs? TIA
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!
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
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?🥺
thanks for the sharing
Awesome stuff
He can easily make joke about high-end industry topics, as he has full control over the topics.
great video
hello. this video is very good. how to create tcp socket chat client / server custom protocol
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
This video made me feel old 😂
Fantastic
Didn't know Johnny Sins is into coding
Im also an astronaut, fireman, and plumber. Hide your girls everyone.
GG, I appriciate when you care about the blind homies. 🤓
it is amazing
thank you.
LOVE U
awesome
respect
I was searching for silver & found gold
Spread the word my man ❤️
my Holy Grail port: 81
lmao the 1337 😂
Oh yeah, a golang websockets online class with johnny sins.
code link ?
how would I connect to this server from another computer?
The package used by anthony is deprecated as of august 2024
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?
:8080. Definitely 8080!
ah huh you could have deleted the connection from conns on EOF
蟹蟹
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
}