Click here to Skip to main content
14,578,158 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
 
GeneralRe: Steam, steam ... I hate thee. Pin
pkfox26-Dec-18 19:59
professionalpkfox26-Dec-18 19:59 
GeneralRe: Steam, steam ... I hate thee. Pin
OriginalGriff26-Dec-18 20:16
mveOriginalGriff26-Dec-18 20:16 
GeneralRe: Steam, steam ... I hate thee. Pin
Mark_Wallace27-Dec-18 2:53
MemberMark_Wallace27-Dec-18 2:53 
GeneralRe: Steam, steam ... I hate thee. Pin
Super Lloyd24-Dec-18 20:32
MemberSuper Lloyd24-Dec-18 20:32 
GeneralRe: Steam, steam ... I hate thee. Pin
Nathan Minier26-Dec-18 2:52
professionalNathan Minier26-Dec-18 2:52 
Generalokay, holiday revelers, just be careful what you eat at the park buffet Pin
BillWoodruff23-Dec-18 13:12
mveBillWoodruff23-Dec-18 13:12 
GeneralRe: okay, holiday revelers, just be careful what you eat at the park buffet Pin
dandy7223-Dec-18 15:56
Memberdandy7223-Dec-18 15:56 
QuestionNetwork communication in the raw Pin
Chris Maunder23-Dec-18 11:04
cofounderChris Maunder23-Dec-18 11:04 
Something I take for granted is that my browser will connect to my servers which will connect to other servers in my hosting setup and that there will be a form of communication that will allow data to be requested and received.

But I have no idea how it all works at a low level. Zero.

I know that my code will make use of the .NET TCP/IP libraries and that they will handle the work of talking to the OS, which will invoke the drivers, which will use my WiFi hardware, which will talk to my ISP, which will route the communication to the server I requested. The .NET libraries will take care of handling the handshaking to establish a connection, and the sending and receiving the data itself.

But I've always wondering how this works. At low level. As in: what does the OS say to Broadcom driver to make the antennae do stuff. What commands does the driver send to the firmware? What (and how?) does the firmware do to make the antenna emit an electromagnetic signal and how does the firmware handle all the electromagnetic radiation it picks up to enable it to listen to the right signal?

Another thing that's always bugged me is the nature of the (necessarily) discontinuous communication. It's not a continuous sine wave with a continuous stream of data going to and from. The data is broken into packets and there is acknowledgement and error correction in the packets being transmitted. Which implies some kind of state management going on.

Which then raises the question of how does something like SignalR work when there are 10,000 connections (and what is a "connection"?) to a server and the data travels back and forth on a connection that's long term, not short term like a HTTP request (small furrowed brow thinking about HTTP Keep-alive)

None of this is important to a developer, and yet it kind of is important to a developer in the same way garbage collection, disk access patterns and thread scheduling. You don't need to know them, but knowing them gives you the knowledge to make informed decisions.

Does anyone know of a write-up of this stuff anywhere? Failing that: would anyone be interested in taking a stab at an article that walks through the life cycle of a bit of data travelling from code through the libraries to the OS to the drivers to the firmware to the hardware, via the ISP, across the routers, to the other and and back?

I think it would be fascinating.
cheers
Chris Maunder

AnswerRe: Network communication in the raw Pin
PIEBALDconsult23-Dec-18 11:18
professionalPIEBALDconsult23-Dec-18 11:18 
AnswerRe: Network communication in the raw Pin
#realJSOP23-Dec-18 11:29
mva#realJSOP23-Dec-18 11:29 
AnswerRe: Network communication in the raw Pin
Michael Martin23-Dec-18 11:46
professionalMichael Martin23-Dec-18 11:46 
GeneralRe: Network communication in the raw Pin
Chris Maunder23-Dec-18 13:51
cofounderChris Maunder23-Dec-18 13:51 
AnswerRe: Network communication in the raw Pin
Rick York23-Dec-18 11:49
mveRick York23-Dec-18 11:49 
GeneralRe: Network communication in the raw Pin
Chris Maunder23-Dec-18 13:52
cofounderChris Maunder23-Dec-18 13:52 
GeneralRe: Network communication in the raw Pin
Michael Martin23-Dec-18 16:20
professionalMichael Martin23-Dec-18 16:20 
GeneralRe: Network communication in the raw Pin
Chris Maunder24-Dec-18 4:54
cofounderChris Maunder24-Dec-18 4:54 
AnswerRe: Network communication in the raw Pin
dandy7223-Dec-18 12:12
Memberdandy7223-Dec-18 12:12 
AnswerRe: Network communication in the raw Pin
CPallini23-Dec-18 12:16
mveCPallini23-Dec-18 12:16 
AnswerRe: Network communication in the raw Pin
theoldfool23-Dec-18 12:35
professionaltheoldfool23-Dec-18 12:35 
AnswerRe: Network communication in the raw Pin
the goat in your machine23-Dec-18 15:18
Memberthe goat in your machine23-Dec-18 15:18 
GeneralRe: Network communication in the raw Pin
Rick York23-Dec-18 16:26
mveRick York23-Dec-18 16:26 
AnswerRe: Network communication in the raw Pin
ZurdoDev23-Dec-18 15:55
mveZurdoDev23-Dec-18 15:55 
GeneralRe: Network communication in the raw Pin
Mark_Wallace24-Dec-18 17:53
MemberMark_Wallace24-Dec-18 17:53 
AnswerRe: Network communication in the raw Pin
Marc Clifton24-Dec-18 2:52
mvaMarc Clifton24-Dec-18 2:52 
GeneralRe: Network communication in the raw Pin
Mark_Wallace24-Dec-18 17:56
MemberMark_Wallace24-Dec-18 17:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.