65.9K
CodeProject 正在变化。 阅读更多。
Home

CFinger v1.01 - Finger 协议

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (1投票)

2000 年 3 月 4 日

viewsIcon

52211

downloadIcon

806

一个封装 Finger 协议的 MFC 类。

  • 下载源文件 - 26 Kb
  • 引言

    欢迎使用 CFinger,一个非常简单的 MFC 类,用于封装 Finger 协议。 对于那些不熟悉所有互联网协议的人来说,Finger 是一种用于检索系统用户信息协议。 返回的信息是一个简单的字符串,可以用于任何目的。 例如,美国地质调查局 (USGS) 使用 Finger 来允许检索最新的地震数据。

    有关 Finger 的详细信息,您应该阅读 RFC 1288。您可以通过访问 http://www.yahoo.com 并查找 RFC 和 1288 来找到大量提供这些文档的 Web 服务器。

    代码提供的示例应用程序实现了一个非常简单的 GUI Finger 客户端,这绝对是对 MS 在 NT 上提供的控制台版本的改进。


    历史
    特点
    用法
    API 参考
    联系作者


    历史

    V1.0(1999 年 10 月 11 日)
    • 首次公开发布。

    V1.01(1999 年 10 月 17 日)

    • 现在跨 CFingerSocket::Close() 调用保留从 GetLastError() 返回的值。


    特点

    • 简洁的 C++ 接口。
    • 提供的接口是同步的,这提供了一种比使用异步套接字更简单的编程模型。
    • 代码不依赖于 MFC 套接字类。这些类存在一些缺点,其中一个缺点在使用 NT 服务时会导致问题。
    • 代码可以在控制台应用程序中毫无问题地使用(同样,MFC 套接字类的情况并非如此)。
    • 可以通过主类方法设置连接的可配置超时。


    用法

    • 要在代码中使用该类,只需在您的项目中包含 finger.cpp,并在需要调用该类的任何模块中包含 #include finger.h
    • 要查看该类的实际应用,请查看模块 WinFingerDoc.cpp 中的 OnFileConnect() 中的代码。
    • 您的代码需要静态或动态地包含 MFC。
    • 在调用 Finger 方法之前,您需要安装并正确初始化一个可以正常工作的 Winsock 堆栈。 根据您的应用程序,这将涉及到在应用程序启动时调用 WSAStartup()AfxSocketInit()
    • 您还需要在预编译的头文件中包含 afxpriv.hwinsock.hafxsock.h。 该代码在 GUI 或控制台应用程序中都能正常工作。 该代码也应该在多线程应用程序中工作,尽管尚未在此场景中明确测试过。


    API 参考

    API 由类 CFinger 的单个公共成员函数组成。

    CFinger::Finger


    CFinger::Finger

    BOOL CFinger::Finger(LPCSTR pszServer, LPCSTR pszUser, CString& sReply, BOOL bVerbose = FALSE, int nPort = 79, DWORD dwTimeout = 500);

    返回值
    如果函数成功,则返回值是 TRUE。 如果函数失败,则返回值是 FALSE。 要获取扩展的错误信息,请调用 ::GetLastError()参数:

    • pszServer -- 要连接的 Finger 服务器的网络地址,例如机器名称,如“finger.somedomain.com”,或点分数字,如“128.56.22.8”。
    • pszUser -- 这是您希望 finger 的用户。 如果您希望服务器返回用户列表,您可以将其设置为 NULL。 它可以是“user”或“user@hostname”形式。
    • sReply -- 成功返回时,这将包含服务器响应/finger 结果。
    • bVerbose -- 如果您希望指示用户信息的输出具有更高的详细级别,则为 TRUE。 Finger 服务器可以自由地忽略此标志。
    • nPort -- 这是要连接的端口号。 默认值为 79,这是默认的 Finger 端口号。
    • dwTimeout -- 用于套接字连接的超时值,以毫秒为单位。

    备注
    调用此成员函数以执行实际的“Finger”操作。



    联系作者

    PJ Naughter
    电子邮件: pjn@indigo..ie
    网站:http://www.naughter.com
    1999 年 10 月 17 日


    © . All rights reserved.