Nice vid! A raw sockets video would be super! Also, it would be awesome to do a deep dive into the network stack, perhaps sk_buff?
@rico_16174 ай бұрын
Legend, literally posted this the day my networking course starts and there's an assignment with UDP lol
@migus9252 ай бұрын
nice video bro, your channel is gold!!
@BLSrr4 ай бұрын
Testing can also be done with socat or nc, both sending and receiving.
@Barakatic4 ай бұрын
Very nice repeating so keep formula solid in your mind with time .
@newoapАй бұрын
What version of C are you using? That not equal sign on line 10 at 3:51 is unusual.
@esrx7a4 ай бұрын
Super, is TCP coming up?
@JacobSorber4 ай бұрын
I have a few stream socket examples that use TCP. Or are you hoping for a deep dive into the details of TCP?
@esrx7a4 ай бұрын
@@JacobSorber TCP demystified
@Albert-yd1wh4 ай бұрын
I think it is useful to include continuous receiving packets in the tutorial. Because it is used more often than receiving a single packet.
@mehregankbi4 ай бұрын
Would love a video about unix and raw sockets.
@ahmadshami58474 ай бұрын
Cool video, but I've been always curious about the different ways to handle data coming through the network when it is larger than the defined the buffer. I do have an idea about maybe using fgets whith stdin for example to handle undefined data size but idk if it's the same case with data coming through a network socket.
@LarryEvilsizer4 ай бұрын
Thanks for your videos. My current main project is a network simulator so I'm generally interested in socket examples. I'm wondering what happened to the datagram sent around 11:10? It wasn't received by the receiver program.
@CosmicCoder4 ай бұрын
I was wondering the same thing. Perhaps they were on different instances of virtual machines?
@Gr4cer4 ай бұрын
That's the beauty of UDP, it's "fire-and-forget". So you can just blast UDP pakets into the void, if theres no one listening, the message is just discarded by any connected node. Even though, as a sender you'll never know if someone or anyone has received the UDP paket. While TCP is doing a lot of handshakes such like regular heartbeats to check if the peer is still alive and connected, an acknowledge for each sent packet, packet resend features etc. which cause some overhead but UDP does none of those things on UDP-Protocol level. Many Applications that use UDP do have some counter included in their procotol so the receiving application can notice if there was a packet dropped.
@CosmicCoder4 ай бұрын
@Gr4cer Ah! If there is no "active" listener bound to the port, the datagram is just discarded.
@LarryEvilsizer4 ай бұрын
@@CosmicCoder Thank you very much for your response
@LarryEvilsizer4 ай бұрын
@@Gr4cer Thanks for your response and excellent explanation.
@johangericke14928 күн бұрын
Okay, so since connect isn't really a thing with UDP, how do you handle multiple connections without using threads/forks? Or are those the only way?
@JacobSorber6 күн бұрын
Well, if you are using UDP, then there are no connections, at least not provided by the underlying protocol. You could set up your own connection abstraction between two end-points that you manage in your code. And, in that case, yes you could handle multiple concurrent connections like you do with TCP, using threads or processes.
@MathematicsStudent4 ай бұрын
I seem to remember reading somewhere that connect can still be called for datagram sockets and that it has the effect of setting the default address for sending on that socket. Is that true?
@JacobSorber4 ай бұрын
It is, indeed. I personally don't love using connect with UDP sockets, because it seems (at least to me) to imply a connection (like you have with TCP) where there isn't one. Could confuse some people reading the code, but yes, it does work that way.
@gunar39394 ай бұрын
Need socket timeout also other method to remove blocking functionality
@adsfaedaer4 ай бұрын
++(wire shark)
@AaronMatlock4 ай бұрын
The check in this example needs to close the socket.