Sendto或连接是否将任意地址和端口分配给套接字?

Sendto或连接是否将任意地址和端口分配给套接字?

问题描述:

我想知道什么时候插座会得到它的地址和端口,如果我不打电话bind。如果sendtoconnect没有一个,那么是否将其分配给套接字?如果我不打电话给bind,那么还需要监听套接字,这是否意味着我永远不会从acceptrecvfrom(因为它没有IP地址或端口)获取任何内容?Sendto或连接是否将任意地址和端口分配给套接字?

是的,connect()sendto()执行一个隐式绑定,如果你不显式调用bind()。它们将绑定到一个可用的临时端口,无论哪个网络适配器具有到目标地址的最低成本路由。

您不能在尚未绑定的套接字上调用accept()recvfrom(),您将收到错误消息。他们不执行隐式绑定。你必须明确你想听什么。