CEQD v1.0 - 地震数据下载器






4.14/5 (3投票s)
2000 年 3 月 4 日

48387

1192
一个免费的MFC类,用于支持从USGS检索最新的地震数据。
引言
欢迎使用CEQD
,这是一个免费的MFC类,用于通过finger协议从美国地质调查局(USGS)检索最新的地震信息。有关Finger协议的详细信息,您应该阅读RFC 1288。您可以通过访问www.yahoo.com并搜索RFC和1288来找到许多包含这些文档的Web服务器。
代码提供的示例应用程序实现了一个非常简单的控制台应用程序,它查询地震信息并使用简单的printf调用显示结果。
历史 |
特点 |
用法 |
API 参考 |
联系作者 |
历史
V1.0 (1999年10月18日)- 首次公开发布。
特点
- 简洁的 C++ 接口。
- 提供的接口是同步的,这提供了一种比使用异步套接字更简单的编程模型。
- 代码不依赖于 MFC 套接字类。这些类存在一些缺点,其中一个缺点在使用 NT 服务时会导致问题。
- 代码可以在控制台应用程序中毫无问题地使用(同样,MFC 套接字类的情况并非如此)。
- 可以通过主类方法设置连接的可配置超时。
用法
- 代码内部使用了作者的另一个类,即
CFinger
。在编译CEQD之前,您还需要下载CFinger源代码并将finger cpp和h文件复制到解压缩CEQD代码的目录中。 - 要在您的代码中使用该类,只需将eqd.cpp和finger.cpp包含到您的项目中,并在需要调用该类的模块中
#include eqd.h
。 - 要查看类的实际运行情况,请查看模块main.cpp中main函数中的代码。
- 您的代码需要静态或动态地包含 MFC。
- 在调用
GetQuakeData()
方法之前,您需要安装并正确初始化一个功能正常的Winsock堆栈。根据您的应用程序,这将涉及在应用程序启动时调用WSAStartup()
或AfxSocketInit()
。 - 您还需要在预编译头文件中包含afxpriv.h和winsock.h或afxsock.h。该代码在GUI或控制台应用程序中都能正常工作。该代码也应该在多线程应用程序中工作,尽管尚未在此场景中进行显式测试。
API 参考
该API包含类CQuakeData
和CEQD类的单个公有成员函数GetQuakeData
。
class CQuakeData { enum MagnitudeType { Ml, Lg, Md, Mb, Ms, Mw, } enum LocationQuality
{ A, B, C, D, U, } SYSTEMTIME m_Time; float m_Latitude; float m_Longitude; float m_Depth; MagnitudeType m_MagType; float m_Magnitude; LocationQuality m_Quality; CString m_sComments; };
成员
- m_Time
- 地震发生时的协调世界时。
- m_Latitude
- 震中的地理纬度。赤道以北为正,赤道以南为负。
- m_Longitude
- 震中的地理经度。格林尼治本初子午线以东为正,子午线以西为负。
- m_Depth
- 震中低于海平面的深度(公里)。
- m_MagType
- m_Magnitude中报告的震级类型的枚举。此成员是以下枚举之一:
- Ml:原始里氏震级
- Lg:局部或区域震级
- Md:持续波
- Mb:体波
- Ms:面波
- Mw:矩震级
- m_Magnitude
- 里氏震级的地震实际震级。
- m_Quality
- 位置确定质量的枚举。此成员是以下枚举之一:
- A:地震位置“良好”
- B:地震位置“尚可”
- C:地震位置“较差”
- D:地震位置“较差”
- U:尚未确定地震位置质量
- m_sComments
- 这是一个文本描述,通常是地震的位置。
CQuakeData
类表示从CEQD::GetQuakeData()
返回的与单个地震相关的数据。
- CEQD::GetQuakeData
- BOOL CEQD::GetQuakeData(CArray<CQuakeData, CQuakeData&>& data, DWORD dwTimeout = 500);
返回值
如果函数成功,则返回值为TRUE。如果函数失败,则返回值为FALSE。要获取扩展的错误信息,请调用::GetLastError()
。参数
- data -- 成功返回后,这将包含一个
CQuakeData
实例数组,这些实例代表所有最近发生的地震。 - dwTimeout -- 用于套接字连接的超时值(毫秒)。
备注
调用此成员函数以执行地震数据的实际检索。 - data -- 成功返回后,这将包含一个
联系作者
PJ Naughter电子邮件: pjn@indigo..ie
网站:http://www.naughter.com
1999年10月18日