当前位置: 首页 > 图文教程 > 网络编程 > ASP > 一个socket组件及其调用方法

ASP
isNull(str), isEmpty(str)和 str = 的区别
使用ADO批量更新记录(源代码)
自己动手,结合javascript和dhtml做一个ubb编辑器
检查Email地址的比较完善的正则表达式函数
从Access数据库恢复BMP图像并显示在WEB页面(microsoft)
ASP环境下邮件列表功能的实现 (四)(推荐)
在ASP应用中如何限制同一表单被多次提交!!!!好东西
了解MSMQ,控制ASP进程 (一)
了解MSMQ,控制ASP进程 (二)
ASP技术在论坛中的运用(一)(吐血推荐!!!!)
ASP技术在论坛中的运用(二)(吐血推荐!!!!)
ASP技术在论坛中的运用(三)(吐血推荐!!!!)
ASP技术在论坛中的运用(四)(吐血推荐!!!!)
ASP技术在论坛中的运用(五)(吐血推荐!!!!)
ASP技术在论坛中的运用(六)(吐血推荐!!!!)
ASP技术在论坛中的运用(七)(吐血推荐!!!!)
ASP技术在论坛中的运用(八)(吐血推荐!!!!)
不用数据源打开数据库(DSNless connection)
大部分的ADO的错误码对应的含义
好东西,翻页程序,大家可以参考

ASP 中的 一个socket组件及其调用方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 211 ::
收藏到网摘: n/a

 

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