精确的判断网络是否可用
Socket类的Connected属性往往不能精确的判断出网络是否连接,下面这段代码可以解决这个问题
/// <summary>
/// 是否已经连接
/// </summary>
public virtual bool Connected
{
get
{
try
{
//检查socket的状态是否可读
if(m_socket.Connected &&m_socket.Poll(0, SelectMode.SelectRead))
{
byte[] aByte = new byte[1]
//因为TCP/IP协议无法精确的判断网络是否可用
//试读一个字符,Peek参数指定读取的字符不会从缓冲区中移除
//假如可读则表示连接可用
if(m_socket.Receive(aByte, 0, 1, SocketFlags.Peek) != 0)
return true
Close("Disconnected.")
return false
}
}
catch(SocketException e)
{
OnException(e)
}
return m_socket.Connected
}
}
================
如果是手机访问则跳转到wap.asp,如果电脑访问跳转到response.end。一、ASP是一种编程语言程序网站,一般只要挂载在服务器支持的网络上面直接输入网址即可打开,后缀名为“.asp”结尾结构。主页多数为“index.asp”格式。IE中本地调试一般输入“http://127.0.0.1”或“http://localhost/index.asp”即可。
二、如果在本地调试运行可以按照IIS组件支持asp网站的运行。或是使用“ASP服务器”绿色版小程序也可以预览效果。
三、ASP文件是不能双击用IE打开的,只能双击用编辑器打开,IE能自己打开静态的文件,但是ASP文件是动态的网页,她中间包含了只有服务器(如IIS)解释以后才能显示的代码,(也就是上面所提出的,运行asp的前提)IE不能解释的,所以你希望IE能浏览asp文件,必须在本地建立pws或者IIS服务。
当有用户开始访问网站时,服务器端的Global.asa将会被访问。将会给用户开启一个Session。可以给每一个用户设置自己的个人用户信息。这里就不多进行解释了。在Global.asa中有当Application启动和Session启动时的消息响应函数。可以敲入如下的代码。< SCRIPT LANGUAGE="VBScript" RUNAT="Server" >
Sub Application_OnStart
’ 当服务器开启时,设置用户数为0
Application("Users") = 0
End Sub
Sub Session_OnStart
Session.Timeout = 20
’ 当开始一个Session时用户数加1
Application.Lock
Application("Users") = Application("Users") + 1
Application.UnLock
End Sub
Sub Session_OnEnd
’ 当结束一个Session时用户计数器减1
Application.Lock
Application("Users") = Application("Users") - 1
Application.UnLock
End Sub
< /SCRIPT >
在网站运行时,Application变量 Application("Users")将一直记录网站的在线人数。可以在任何一个网页中使用写出在线用户的数量。至于记录,则可以使用很多的方法。如果是记录到文件中,可以使用Scripting.FileSystemObject物件进行处理。如果记录到数据库中,则可以使用ADO等等。这里就不一一介绍了。
用N个application("user" & N)来保存用户名,再用application("TimeBegin")来保存每个用户的登录时间,同
时,在用户登录时用session("TimerBegin")保存登录时间(timer),在发言区设定刷新时间为N秒,每次刷新将session
("TimeBegin")的时间更新,同时判断timer - application("user"&session(userID)) 是否>N秒,如果是则说明该用户没
有自动刷新,即意味着已经断线,即可将该application("user"&N)设为空值,再提示该用户已退出即可。
部分代码:
total = application("AllPeople")'总人数
aryHuman = split(total,"")
for i = lbound(aryHuman) to ubound(aryHuman) - 1
if application("user" & i) = "online" then
if int(timer) - int(application("TimeBegin" & i)) > 120 then
application("user" & i) = ""
temp = aryHuman(i)
aryName = split(temp,",")
hrefname = aryName(0)
for j = lbound(aryHuman) to ubound(aryHuman) - 1
if application("user" & j) = "online" then
application("content" & j) = "<FONT color=#000000>【公告】"&hrefname&"</FONT>" &"<font color=#F08000
>"& "断线..." & "</font><font color = #000000 class=p9>" & " <" & time() & "></font><br>" & application
("content" & j)
end if
next
end if
end if
next
%>
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)