一个socket组件及其调用方法

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

这个socket组件是由开发jmail的那家公司作的。

很老的一个版本了。不过挺好的。我一直在用。

比较稳定。以前发现xmlhttp在win2003 server上不太好。流量大了iis容易当掉。用这个组件倒还算稳定。

paraHost ="www.knowsky.com" ' host

paraPort = 80 ' port

paraFileUrl ="/test/test.htm"

Set Socket = CreateObject("Socket.TCP")

Socket.Host = paraHost & ":" & paraPort

Socket.Timeout = paraTimeout

If Err.Number <> 0 Then Err.Clear

Socket.open

' timeout error = 8000ffff

Socket.SendLine "GET " & paraFileUrl & " HTTP/1.0"

Socket.SendLine "HOST: " & paraHost

Socket.SendLine ""

Socket.SendLine ""

'Sleep 200

Socket.WaitForDisconnect

If Err.Number <> 0 Then

response.write Err.Number & " -- " & Err.Description

Err.Clear

Else

response.write HTTPResponse(Socket.Buffer, 1) ' output text from socket

End If

Socket.Close

Set Socket = Nothing

Private Function HTTPResponse(ByVal toHTTPResponse, ByVal whichHTTPResponse)

On Error Resume Next

Dim HTTPResponseDelimiter

HTTPResponseDelimiter = Chr(13) & Chr(10) & Chr(13) & Chr(10)

If (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) <> 0) Then

Select Case whichHTTPResponse

Case 0 'Header

HTTPResponse = Mid(toHTTPResponse, 1, (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1))

Case 1 'Body

HTTPResponse = Mid(toHTTPResponse, (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) + Len(HTTPResponseDelimiter)), (Len(toHTTPResponse) - (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1)))

End Select

End If

End Function

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有