shawn a
shawn a

Reputation: 809

Sending and receiving data through sockets and ports

When i create a c++ program using Winsock and send() a HTTP request packet to a hostname(ie: www.blah.com at 223.224.245.233 running on port 80) and the HTTP response is given back to me through recv(), why does the the receiver of my packet need to bind a socket to a port to talk to me, but i don't?

Is it because I initially sent a packet and in that packet it contains information that enables them to send a packet back to me(a response) without me needing to bind a socket to a port?

I'm wondering why multiple computers that talk to each don't need sockets bound to certain ports.

I thought computer communication was like so: (Service on port 80 at 223.224.245.233) sends packet to (Service on port 94 at 223.224.245.234) (Service on port 94 at 223.224.245.234) receives packet from (Service on port 94 at 223.224.245.233)

Upvotes: 0

Views: 276

Answers (1)

user207421
user207421

Reputation: 310956

why does the the receiver of my packet need to bind a socket to a port to talk to me

It doesn't. It needs to bind a socket to a port to listen for incoming connections. Then you connect to it, then it accepts a connected socket, then it talks to you.

but i don't

There is an automatic bind when you connect.

Upvotes: 1

Related Questions