一个socket组件及其调用方法

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

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

【 tulaoshi.com - ASP 】

 

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

(本文来源于图老师网站,更多请访问http://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

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

        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.tulaoshi.com/n/20160129/1507753.html

延伸阅读
标签: ASP
  <!--#include file="../lib/filelib.asp"-- <%     Response.write "<title上传文件至当前文件夹</title"     Response.Write "<body bgcolor=""#D6D3CE"" leftmargin=""0"" topmargin=""0"&...
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...
标签: Delphi
笔者在前一段的工作中,需要开发一套简单的网络数据传输程序。由于平时常用Delphi做点开发,故此次也不例外。Delphi 7中带有两套TCP Socket组件:Indy Socket组件(IdTCPClient和IdTCPServer)和Delphi原生的TCP Socket组件(ClientSocket和ServerSocket)。但是,Borland已宣称ClientSocket和ServerSocket组件即将被废弃,建议用相应的I...
标签: ASP
  下一步是将VBScript对象中的所有代码拷贝出来并粘贴到新工程向导所显示的类窗口中去.只要拷贝从"class DBConnection"到"end class"之间的代码.在粘贴完代码以后,在属性窗口中将类的名字改成DBConnection,如图C所示. 同时将MTSTransactionMode改成3(使用事务处理过程).我们没有必要为这个对象添加任何为支持事务处理(trans...

经验教程

306

收藏

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