2
我想设置本地主机的名称。我使用sethostname()函数,但我得到一个错误如下:未找到sethostname标识符错误
error C3861: 'sethostname': identifier not found.
下面的代码片段:
WSADATA wsa;
///Initialise winsock///
if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
{
//Socket Initialization Failed///
exit(EXIT_FAILURE);
}
char setname[128]="Ayesha-PC";
sethostname(setname, sizeof (setname));
你确定'sethostname'存在于桌面winsock上吗?我可以看到它[记录为WinCE](http://msdn.microsoft.com/en-us/library/aa450918.aspx),但它不出现在[桌面winsock2函数列表](http:// msdn.microsoft.com/en-us/library/windows/desktop/ms741394(v=vs.85).aspx) – simonc 2013-04-11 10:11:58
我认为这是问题所在。是否有任何其他可以设置主机名的桌面winsock功能? :( – Ayse 2013-04-11 10:13:44
@AyeshaHassan你的主机名以及它在你的NAT上注册的方式可能是不同的......假设你有两台单一NAT(你的连接)名字相同的计算机,那么你认为它们可以共享同一个名字吗?表他们注册一些其他的名字,例如第一个'Ayesha-PC-1'第二''Ayesha-PC-2'。使用你的IP你可以退休你的主机名读取关于[getaddrinfo函数](http://msdn.microsoft.com /en-us/library/windows/desktop/ms738520(v=vs.85).aspx)和其他相关函数来检索名称。你需要'IP'来'name'翻译函数一个DNS问题..一个有趣的Q + 1. – 2013-04-11 10:30:16