我发现了更多的源代码,它们像ping一样工作。我唯一的问题是,如果我用非管理用户运行该程序,那么我会返回错误代码10013,这意味着:“试图以禁止其访问权限的方式访问套接字”。如果我与管理员团队成员的用户运行该程序,那么它工作正常。sendto失败,发现错误代码为10013的非管理员用户
nResult = sendto (sock, pSendBuffer, sizeof (ICMPheader) + nMessageSize, 0, (SOCKADDR *)&dest, sizeof (SOCKADDR_IN));
::GetSystemTime (&timeSend);
++nPacketsSent;
if (nResult == SOCKET_ERROR)
{
cerr << endl << "An error occured in sendto operation: " << "WSAGetLastError() = " << WSAGetLastError() << endl;
}
任何人都可以帮助我解决这个问题,或告诉我为什么非管理员用户不能使用此代码?如果没有,那么我会appriciate一些代码,我可以使用不是管理员组的成员的用户。
在此先感谢!
kampi
你是对的!这会容易得多,但我需要icmplib.lib来编译ICMPSendEcho2程序,但是我找不到icmplib.lib。你知道我在哪里可以得到它吗?感谢提前! – kampi 2009-10-26 18:42:41
你的意思是iphlpapi.lib?这应该包含在你的编译器中(它当然是用Visual Stdio 2008)。或者,您可以下载Windows SDK(请参阅http://msdn.microsoft.com/en-us/windows/bb980924.aspx) – cmeerw 2009-10-26 18:54:00
不,我的意思是icmplib.lib。但它是我的错误:)我ususally使用未识别ICMPSendEcho2的Dev-C++,因为它需要icmplib.lib,但我找不到它,所以我用Visual Studio编译,而这一个不需要icmplib.lib。我的错误,对不起:) – kampi 2009-10-26 19:31:49