书上说:IsClientConnected 属性指示出客户机是否已与服务器断开连接。
给出的例子是:
<%
If response.IsClientConnected=true then
response.write("The user is still connected!")
else
response.write("The user is not connected!")
end if
%>
我想知道如何操作能让这个程序输出The user is not connected!
有没有更好的例子能说明一下response.IsClientConnected的用法(特别是怎样操作是它为false)
------解决方案--------------------
断开连接就不往客户端发送内容了。你看不到等于false的情况。
这种判断适用于运行时间比较长的代码,浏览器突然点击了 停止 就会导致IsClientConnected=false
------解决方案--------------------
比如传递大文件的时候, 客户端断了就不要传了
- VBScript code
Function TransferFile(ByRef oStream, sMimeType, sFilename)
Dim iChar, iSent, iSize
Dim c
Const FILE_TRANSFER_SIZE = 32768 '32k
iSent = 0
TransferFile = True
iSize = oStream.Size
With Response
.Charset = "GB2312"
.ContentType= sMimeType
.AddHeader "Accept-Ranges", "bytes"
.AddHeader "Content-Length", iSize
.AddHeader "Content-Type", sMimeType
.AddHeader "DownloadOptions", "noopen"
.AddHeader "Content-Disposition","attachment; filename=" & sFilename
End With
c = 0
Do While c <= iSize
iChar = oStream.ReadBin(FILE_TRANSFER_SIZE)
c = c + FILE_TRANSFER_SIZE
With Response
.BinaryWrite(iChar)
iSent = iSent + FILE_TRANSFER_SIZE
If (iSent MOD FILE_TRANSFER_SIZE) = 0 Then
.Flush
If Not .IsClientConnected Then
TransferFile = False
Exit Do
End If
End If
End With
Loop
Response.Flush
If Not Response.IsClientConnected Then TransferFile = False
Set oStream = Nothing
End Function