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

四期的「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可用来辨别此

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值