手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp编程>列表

一个socket组件及其调用方法

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

这个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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!