回 帖 发 新 帖 刷新版面

主题:[讨论]WinSocket编程问题

我在Tracerout代码的基础上添加代码,让其实现能发现PMTUD的功能。但在修改的过程中遇到点问题请教大家:
int CIcmp::SetIpDF(void)
{
    int    Result;
    BOOL DF=TRUE;
    //获得套接口选项,成功则返回值为0
    Result = setsockopt (icmpSocket, IPPROTO_IP, IP_DONTFRAGMENT, (LPSTR)&DF, sizeof(BOOL));

    if (Result == SOCKET_ERROR)
    {
        icmpSocketErrorMod = 1;
        icmpSocketError = WSAGetLastError();
    }

    return Result;
}
上面是我加的函数用以对IP数据报的DF置位,而且返回值也表明置位成功,在运行时这个函数没奏效,没能发现MTU.请教大家该怎么改?
谢谢

回复列表 (共2个回复)

沙发

QQ:158474646

板凳

问题已解决,是由于操作系统的问题,Socket头文件问题,在XP下运行就没这问题.

我来回复

您尚未登录,请登录后再回复。点此登录或注册