在asp中实现oicq式的发信息功能,实现此功能的方法很多,在此我主要介绍以数组存取信息的方式。
在asp中定义一个数组变量:application(id,ix)(例:application(100,30)),id表示用户号,可以是100,就是同时可以让100个用户使用在线信息发送,一个用户有一个唯一的id;后面的ix是一个用户的信息条数!数值为30时,就是一个用户可以同时最多可以放30条信息。
当一个用户登陆时就给这个用户分配一个没有被用户占用的id号(比方说用户id为3),有人发信息给他时,只要把发的信息存入application(3,ix),在存入前要先判断这个application(3,ix)是否为空,为空时才把信息存进去。如果不为空,就把ix+1,如果application(3,ix+1)还是不为空,就把ix+2……到了30,就返回信息已满,叫这个用户一会儿再发。(可以用for … next语句实现上面的ix+几的功能。ix就从1到30,0还有别的用处)
用户如何收到其它用户发来的信息呢?在一个页面的<head></head>中用“<meta http-equiv=refresh content=”5;url=xx.asp”>”,其中5是调用的时间间隔,此值可以让你设定检查有没有用户发自信给您的时间间隔。再在这个xx.asp页面来检查自己的id号的application(id,ix)里的信息,这里的ix要从1到30都检查一次(可以用for … next语句),不从0开始的原因0还有别的用处。如其中的一个数组application(id,ix)中有信息,就把信息发到用户的浏览器,并把相应的数组application(id,ix)里的信息清空,以便存放新的信息。
还有一点重要的是怎么样知道一个id是否已被占用,至于用户占用一个id时,就把application(id,0)值为用户名,这样application(id,0)有了值,就说明此id已经被占用,其它新登陆的用户使用id时,就用语句判断application(id,0)的值是否为空,如果为空,就说明此id没有被占用。如果一个用户关闭浏览器,你必须一定要清空此id的application(id,0)的值,不然此id永远是被占用的,其它用户就不能使用此id。
关于asp中实现oicq式的发信息功能已经基本上完成,如果你想做得更好,比方说用用户名代替用户的id,因为怎么说名字比数字的id好记,那你得好好动一下脑筋,因为上面的细路已经实现了这个功能。