winsock通讯问题-wsgethostbyaddr

dancer 2006-09-04 05:27:56
有人用过wsgethostbyaddr吗?是在pslib21.dll
1. 2k的机器,或者本机XP客户端发送信息都是正确的
2. 不是本机XP发送消息这个函数返回的就是-1

哪位碰到过这种情况,谢谢

原码:

integer iTmp, a,ll_i
pbhostent pbheTmp,pbnull
string sTmp
string sNewArray[]
ulong ulNewArray[]
Any aTmp

sTmp = space(MAXHOSTNAMELENGTH)

pbheTmp.h_name = sTmp

for a = 1 to MAXHOSTALIASES
pbheTmp.h_aliases[a] = sTmp
next

pbheTmp.h_addrtype = 0
pbheTmp.h_length = 0

for a = 1 to MAXHOSTADDRESSES
pbheTmp.h_addr_list[a] = 0
next

//就是这句,XP返回的就是-1,2k返回的就是0
iTmp = wsgethostbyaddr(pbheTmp.h_name,pbheTmp.h_aliases[],pbheTmp.h_addrtype,pbheTmp.h_length,pbheTmp.h_addr_list[],ulAddr)
for ll_i = 1 to 1000
Yield()
next

if iTmp = 0 then
for a = 1 to MAXHOSTALIASES
if pbheTmp.h_aliases[a] = sTmp then
pbheTmp.h_aliases = sNewArray
exit
else
sNewArray[a] = pbheTmp.h_aliases[a]
end if
next
for a = 1 to MAXHOSTADDRESSES
if pbheTmp.h_addr_list[a] = 0 then
pbheTmp.h_addr_list = ulNewArray
exit
else
ulNewArray[a] = pbheTmp.h_addr_list[a]
end if
next
else
setnull(aTmp)
//pbheTmp = aTmp
pbheTmp = pbnull
end if

return(pbheTmp)
...全文
259 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧