通过套接字和端口发送和接收数据

时间:2014-02-07 03:30:03

标签: sockets networking network-programming port winsock

当我使用Winsock创建一个c ++程序并将一个HTTP请求包发送到主机名(即:www.blah.com,在端口80上运行的223.224.245.233)时,HTTP响应通过recv返回给我(),为什么我的数据包的接收器需要将套接字绑定到端口以与我交谈,但我不这样做?

是不是因为我最初发送了一个数据包,并且在该数据包中它包含的信息使他们能够将数据包发回给我(一个响应)而不需要将套接字绑定到端口?

我想知道为什么与每个计算机通信的多台计算机不需要绑定到某些端口的套接字。

我认为计算机通信是这样的: (端口80上的服务223.224.245.233)将数据包发送到(端口94上的服务,223.224.245.234) (端口94上的服务223.224.245.234)从(端口94上的服务223.224.245.233)接收数据包

1 个答案:

答案 0 :(得分:1)

  

为什么我的数据包的接收者需要将套接字绑定到端口以与我交谈

没有。它需要将套接字绑定到端口以侦听传入连接。然后你连接到它,然后它接受一个连接的套接字,然后它与你交谈。

  

但我没有

连接时有自动绑定。