使用winsock设置主机名?

Posted

技术标签:

【中文标题】使用winsock设置主机名?【英文标题】:Set hostname using winsock? 【发布时间】:2016-11-11 16:59:08 【问题描述】:

我刚开始使用winsock,它似乎只是默认在本地机器上建立一个服务器,而不是接受外部连接(来自系统上的其他计算机)。我正在寻找与 Python 中的 socket.bind(("192.168.0.112", 1024)) 等效的 C++(而不是 "localhost"

【问题讨论】:

【参考方案1】:

如果您想绑定到所有适配器,这是接受来自本地主机和远程地址的连接最常见的做法,那么您真正需要做的就是:

sock = socket(AF_INET, SOCK_STREAM, 0);    // SOCK_STREAM==TCP.  Use SOCK_DGRAM if you want UDP

sockaddr_in addr = ;         // = is zero-init.  Since INADDR_ANY is 0, it implicitly sets this as well
addr.sin_family = AF_INET;
addr.sin_port = htons(1024);   // port 1024 in network byte order

int result = bind(sock, (sockaddr*)&addr, sizeof(addr));

【讨论】:

以上是关于使用winsock设置主机名?的主要内容,如果未能解决你的问题,请参考以下文章

RHEL设置主机名

Linux命令之hostname - 显示或设置主机名

如何在本地 IIS 中将主机名设置为网站

CentOS7 设置主机名及IP映射

如何在Linux中显示和设置主机名

在RHEL 8系统上设置主机名和时区