gpt4 book ai didi

c - 绑定(bind)套接字时为什么要将端口号转换为网络字节序?

转载 作者:太空狗 更新时间:2023-10-29 15:04:06 25 4
gpt4 key购买 nike

我遇到了这段代码,它出现在设置套接字的内部:

#define PORT xxxx

struct sockaddr_in self;
self.sin_family = PF_INET;
self.sin_port = htons(PORT);

我知道我们需要将通过网络传输的数据的字节顺序转换为 Network Byte Order 但我不明白为什么我们也需要将端口号转换为那个设置套接字时。我的意思是,当我们绑定(bind)时,它不是“本地”的东西吗?假设我们打算绑定(bind)的端口是 1,而机器实际上使用的是小端;现在既然我们将它转​​换为网络字节顺序,我们不会将一个完全不同的端口绑定(bind)到套接字吗?

最佳答案

我认为让我们假设您正在使用 TCP。端口号将位于数据包 header 中。那将被传送。因此它将采用网络字节顺序。

关于c - 绑定(bind)套接字时为什么要将端口号转换为网络字节序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22573934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com