闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕濠氬箯閿燂拷 (0) +1 闂傚倷娴囧畷鍨叏瀹ュ拋鍚嬮柛鈩冾殢娴硷拷 (0) +1 闂傚倸鍊搁崐鎼併偑鐎涙ḿ顩查柣鎴f缁狀垶鏌ㄩ悤鍌涘 (0) +1
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>

正在阅读:VB学习:MX记录获取组件VB学习:MX记录获取组件

2004-03-10 09:52 出处:CSDN 作者:glling 责任编辑:linjixiong

  ' The type of query (15 means MX query)
  iTemp = htons(15)
  MemCopy dnsQuery(dnsQueryNdx), iTemp, Len(iTemp)
  dnsQueryNdx = dnsQueryNdx + Len(iTemp)

  ' The class of query (1 means INET)
  iTemp = htons(1)
  MemCopy dnsQuery(dnsQueryNdx), iTemp, Len(iTemp)
  dnsQueryNdx = dnsQueryNdx + Len(iTemp)

  On Error Resume Next
  ReDim Preserve dnsQuery(dnsQueryNdx - 1)
  ' Send the query to the DNS server
  objWinSock.RemoteHost = DNS_Addr
  DNSrecieved = False
  objWinSock.SendData dnsQuery

  If WaitUntilTrue(DNSrecieved, 60) = False Then
  'MX_Query = ""
  Exit Function
  End If

  Dim iAnCount As Integer
  ' Get the number of answers
  MemCopy iAnCount, dnsReply(6), 2
  iAnCount = ntohs(iAnCount)
  ' Parse the answer buffer
  MX_Query = Trim(GetMXName(dnsReply(), 12, iAnCount))

  End Function

  Private Function WaitUntilTrue(ByRef Flag As Boolean, ByVal SecondsToWait As Long) As Boolean

  Dim fStart As Single
  Dim fTimetoQuit As Single

  fStart = Timer

  ' Deal with timer being reset at Midnight
  If fStart + SecondsToWait < 86400 Then
  fTimetoQuit = fStart + SecondsToWait
  Else
  fTimetoQuit = (fStart - 86400) + SecondsToWait
  End If

  Do Until Flag = True
  If Timer >= fTimetoQuit Then
  WaitUntilTrue = Flag
  Exit Function
  End If
  DoEvents
  Sleep (10)
  Loop

  WaitUntilTrue = Flag

  End Function




察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶鎾煙椤旀娼愰柟宄版嚇瀹曘劍绻濋崒娆愭▕濠电姷顣藉Σ鍛村磻閹捐绠柨鐕傛嫹闂傚倸鍊烽悞锕傚箖閸洖纾块柟鎯版绾剧粯绻涢幋娆忕仼闁哄嫨鍎甸幃姗€鎮欓弶鍨彑婵炲瓨绮嶇划鎾诲蓟濞戙埄鏁冮柨婵嗘椤︺儵姊洪崨濠冾棖闁瑰嚖鎷�