现在的位置: 首页 > 综合 > 正文

飞鸽传书2012 的网络通信代码

2013年10月10日 ⁄ 综合 ⁄ 共 1687字 ⁄ 字号 评论关闭
文章目录

四期的「Winsock 应用程式设计篇」在此结束了;笔者除了介绍 Winsock API  外,也将自己亲身设计 winsock.dll 的经验与各位读者分享了;希望这几期的文章,对於国内想要在
飞鸽传书2012 Winsock 1.1 环境上开发网路应用程式的读者有些许的帮助。谢谢大家。

飞鸽传书2012 Extensions

[Microsoft Windows-specific Extensions]
(1)   WSAAsyncGetHostByAddr():利用某一 host 的位址来获取该 host 的资料。(非同步方式)

格  式: HANDLE PASCAL FAR WSAAsyncGetHostByAddr( HWND hWnd,  unsigned int wMsg, const char FAR *addr, int len, int type, char FAR *buf, int buflen );

飞鸽传书2012 参数

hWnd 动作完成後,接受讯息的视窗 handle

wMsg  传回视窗的讯息

addr network 排列方式的位址

len addr 的长度

type PF_INET(AF_INET)

buf  存放 hostent 资料的区域

buflen buf 的大小

传回值: 成功 - 代表此 Async 动作的 handle

失败 - 0  (呼叫 WSAGetLastError() 可得知原因)

说明: 此函式是利用位址来获取 host 的其他资料,如 host 的名称、别名, 位址的型态、长度等。使用者呼叫此函式时必须传入要接收资料的视窗handle、讯息代码、资料的存放位置指标等,以便得到资料时可以通知该视窗来使用资料。呼叫此函式後会马上回到使用者的呼叫点并传回一个 handle,此 handle 可用来辨别此非同步动作或用来取消此非同步动作。当资料取得後,会送一个讯息到使用者指定的视窗。

(2)   WSAAsyncGetHostByName():飞鸽传书2012 利用某一 host 的名称来获取该 host 的资料。 (非同步方式)

格  式: HANDLE PASCAL FAR WSAAsyncGetHostByName( HWND hWnd, unsigned int wMsg, const char FAR *name, char FAR *buf, int buflen );

参  数:

hWnd 动作完成後,接受讯息的视窗 handle

wMsg  传回视窗的讯息

name host 名称

buf  存放 hostent 资料的区域

buflen  buf 的大小

传回值: 成功 - 代表此 Async 动作的 handle

失败 - 0  (呼叫 WSAGetLastError() 可得知原因)

说明: 此函式是利用 host 名称来获取其他的资料,如 host 的位址、别名, 位址的型态、长度等。使用者呼叫此函式时必须传入要接收资料的视窗handle、讯息代码、资料的存放位置指标等,以便得到资料时可以通知该视窗来使用资料。呼叫此函式後会马上回到使用者的呼叫点并传回一个 handle,此handle 可用来辨别此非同步动作或用来取消此非同步动作。当资料取得後,会送一个讯息到使用者指定的视窗。

(3) WSAAsyncGetProtoByName():依照通讯协定的名称来获取该通讯协定的其他资料。(非同步方式)

格  式: HANDLE PASCAL FAR WSAAsyncGetProtoByName( HWND hWnd, unsigned int wMsg, const char FAR *name, char FAR *buf, int buflen );

参  数: hWnd 动作完成後,接受讯息的视窗 handle

wMsg 传回视窗的讯息

name 通讯协定名称

buf  存放 protoent 资料的区域

buflen buf 的大小

传回值: 成功 - 代表此 Async 动作的 handle

失败 - 0  (呼叫 WSAGetLastError() 可得知原因)

说明: 利用通讯协定的名称来得知该通讯协定的别名、编号等资料。使用者呼叫此函式时必须传入要接收资料的视窗 handle、讯息代码、资料的存放位置指标等,以便得到资料时可以通知该视窗来使用资料。呼叫此函式後会马上回到使用者的呼叫点并传回一个 handle,飞鸽传书 此  handle可用来辨别此

抱歉!评论已关闭.