一个socket组件及其调用方法

2016-01-29 18:54 70 1 收藏

一个socket组件及其调用方法,一个socket组件及其调用方法

【 tulaoshi.com - ASP 】

 

这个socket组件是由开发jmail的那家公司作的。
很老的一个版本了。不过挺好的。我一直在用。
比较稳定。以前发现xmlhttp在win2003 server上不太好。流量大了iis容易当掉。用这个组件倒还算稳定。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/)

    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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/)

End Function

 

来源:https://www.tulaoshi.com/n/20160129/1507753.html

延伸阅读
标签: ASP
  在进入我们需习的第一个组件之前,小虎首先得说明一下,由于小虎的水平有限,可能在下面的这些说明过程中存在 不少错误,希望大家提出指证,在这里我希望能与大家分享一下ASP的学习经验,小虎的这个网站推耸的是原创精神,很多 东西都是DIY,因此程序编写过程中也会染上小虎本身不良的编程习惯。而且整个教学网站也只有小虎一个维护,因...
C++ Q&A 专栏... 删除托管对象,如何包装一个库?及其它...... 原著:Paul DiLascia 翻译:Northtibet 原代码下载:CQA0412.exe (235KB) 原文出处:MSDN Magazine December 2004 (C++ Q&A) 删除托管对象 如何包装一个库? 如何将托管 Strin...
标签: ASP
  本文用到没有用到adodb.command命令,只是简单的做了一个用adodb.recordset来执行存储过程。 存储过程: '在SQL中建立dbo.tse存储过程 CREATE PROCEDURE [dbo].[tse] @keyword varchar(20)=null,  '定义查询的关键字 @choose int=null              &n...
标签: ASP
  编写定制的Active Server Page(ASP)代码来完成一些任务,比方说数据库访问的能力是重要的.但是,一个由脚本写成的解决方案最明显的问题就是性能.在这篇文章中,我将向你展示如何将一个数据库对象的脚本版本转换成一个动态链接库(dll),或是就象它的通常的名字,一个COM组件.为了生成这个编译版本,我将使用Visual Basic 6...
标签: ASP
  使你的类开始工作 既然你已经拥有了一个能够运行的COM组件了,那么现在就是让它参与工作的时候了.让这个组件能在ASP中使用有几步工作要做.第一步,修改框架(framework)中的pageDeclare.asp文件来用一个object置标来引用这个刚刚编译成功的组件(列表D). Listing D <%@ LANGUAGE="VBScript" % <object runat="se...

经验教程

372

收藏

37
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部