CFinger v1.01 - Finger 协议





4.00/5 (1投票)
2000 年 3 月 4 日

52211

806
一个封装 Finger 协议的 MFC 类。
引言
欢迎使用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.h 和 winsock.h 或 afxsock.h。 该代码在 GUI 或控制台应用程序中都能正常工作。 该代码也应该在多线程应用程序中工作,尽管尚未在此场景中明确测试过。
API 参考
API 由类CFinger
的单个公共成员函数组成。
- 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 日