|
Alojado en:
urbe-networks.com
Recomienda
esta pagina a un amigo
Servicios
Gratuitos
Articulos relacionados
Utilizar GetRows()
Tienda Virtual - Carrito de compra
Messenger a través de BD en ASP
Miniaplicacion de comercio electronico
Objeto Datagrid de ASP.NET en ASP
Acotación de resultados
Generar un numero aleatorio en un intervalo
La función Ubound
Diferentes formas de establecer la conexión con una base de datos
Empezando a construir un Web (I)
Redireccion de vuelta después de un login
Salidas en formato compatible Excel
Generar un numero aleatorio en un intervalo
Adaptación de la hora de un servidor extranjero (II)
Distintos formatos de Fecha
Leer un fichero de texto del servidor
Enlaces
recomendados
|
|
Tutorial ASP
Un Chat en ASP
Este articulo ha sido leído 131,618
veces
|
|
Un Chat en ASP
Puede que ASP no sea el lenguaje mas idóneo para una aplicación de
chat, pero el caso es que funciona y al ser ASP es completamente
compatible con cualquier navegador, y además es, como veréis,
tremendamente sencillo de desarrollar.
El código que os muestro es el utilizado en el chat de esta web, el
introducir mejoras ya es cosa vuestra, es fácil añadir funcionalidades
al estilo de las que veréis en otros chat en Java, como colores, lista
de usuarios, etc ...
Bueno, empezamos por el principio.
1.-Lo
primero que necesitamos es un lugar para almacenar las frases que los
usuarios introduzcan para luego mostrarlas. Para ello usaremos un array
de nueve elementos, que seran la cantidad de frases que mostraremos en
el chat ( podéis cambiar el numero a lo que os parezca oportuno). Este
array lo guardaremos dentro del objeto Application, a fin de que pueda
ser accedido por todo el mundo. A fin de que este disponible siempre, la
crearemos dentro del archivo global.asa.
Global.asa
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Dim Auxiliar()
Redim Auxiliar(9)
Application("Opiniones")=Auxiliar
End Sub
</SCRIPT>
|
A partir de este momento tenemos una variable de aplicación
denominada "opiniones" que contiene nuestro chat
2.-Lo
siguiente que necesitamos es una página que nos muestre el contenido de
nuestro chat (es decir, lo que hay en application("opiniones").
A este modulo lo denominaremos visualización.asp. Consiste en una
pagina que se llama a si misma cada x segundos (META HTTP-EQUIV="REFRESH" CONTENT="5),
con
lo que nos refresca la información, y que muestra los datos contenidos
en Application("opiniones") mediante un sencillo bucle FOR
Visualizacion.asp
<% PaginaActual="http://"&_
Request.ServerVariables("SERVER_NAME")&_
Request.ServerVariables("SCRIPT_NAME") %>
<html>
<head>
<META HTTP-EQUIV="REFRESH" CONTENT="5;<%=PaginaActual%>">
<title>MiniChat (visualización)</title>
</head>
<body>
<FONT FACE="Comic Sans MS" COLOR="Blue" size="1">
<%
IF NOT isArray( Application("Opiniones")) THEN
Application.Lock
Dim Auxiliar()
Redim Auxiliar(9)
Application("Opiniones")=Auxiliar
Application.UnLock
END IF
Temporal=Application("Opiniones")
FOR Opinion=8 to 0 step -1%>
<%= Temporal(Opinion) %> <BR>
<% NEXT %>
<FONT>
</body>
</html>
|
3.-Nuestro
tercer modulo sera "incluir.asp" el cual nos va a permitir que
los usuarios escriban opiniones en el chat. Para que un usuario escriba
una aportación, este usuario debe estar identificado por un apodo o
"nick", este apodo lo guardaremos en una cookie.
incluir.asp
<%
IF Request.Cookies("Apodo")="" and request.form("opinion")<>"" THEN
if request.form("apodo")<>"" then
Response.Cookies("Apodo")=Request.Form("Apodo")
else
Response.Cookies("Apodo")="Anonimo"
end if
Application.Lock
Temporal=Application("Opiniones")
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
if request.form("apodo")<>"" then
Temporal(0)="<FONT COLOR=""#000000"">** " & Request.Form("Apodo") & " ** Entra en el minichat</FONT>"
else
Temporal(0)="<FONT COLOR=""#000000"">** Anonimo ** Entra en el minichat</FONT>"
end if
Application("Opiniones")=Temporal
Application.Unlock
END IF
IF Request.Form("Opinion")<>"" THEN
Apodo=Request.Cookies("Apodo")
Application.Lock
Temporal=Application("Opiniones")
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
Temporal(0)=Apodo&": "&Request.Form("Opinion")
Application("Opiniones")=Temporal
Application.Unlock
END IF%>
<html>
<head>
<title>incluir opinion</title>
<base target="_self">
</head>
<body bgcolor="#6699FF">
<FORM METHOD="POST" ACTION="incluir.asp">
<% IF Request.Cookies("Apodo")="" THEN %>
<font color="#FFFFFF">
Apodo:</font> <INPUT TYPE="TEXT" SIZE=10 NAME="Apodo">
<input type="hidden" name="go" size="20" value="si"><BR>
<% END IF %>
<INPUT TYPE="TEXT" SIZE=30 NAME="Opinion">
<INPUT TYPE="SUBMIT" VALUE="Enviar">
<a href="cerrar.asp" target="_top">Salir</a>
</FORM>
</body>
</html>
|
4.-
Cuando el usuario termine su sesión de chat debemos eliminar la cookie
que lo identifica, para ello usaremos el modulo cerrar.asp
cerrar.asp
<% if Request.cookies("Apodo")<>"" then
Application.Lock
Temporal=Application("Opiniones")
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
Temporal(0)="<FONT COLOR=""#FF0000"">** " &Request.cookies("Apodo")&" ** Se va del minichat</FONT>"
Application("Opiniones")=Temporal
Application.Unlock
response.cookies("apodo")=""
END IF%>
<HTML>
<HEAD>
<script language="JavaScript">
{close();}
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML> |
5.-
Ahora lo montamos todo en una pagina de frames
default.asp
<html>
<head>
<title>Salon de conversación</title>
</head>
<FRAMESET rows="*,70">
<FRAME SRC="visualizacion.asp">
<FRAME SRC="incluir.asp" target="_self">
</FRAMESET>
</html>
|
6.-
Para que quede "bonito" mostraremos el chat en una nueva ventana
sin barras y mas pequeña, eso lo haremos con javaScript
<HTML>
<HEAD>
<script language="JavaScript">
<!--
function openWindow(url, name) {
popupWin = window.open(url, name, 'scrollbars,resizable,width=400,height=350')
}
// -->
</script>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#000000" VLINK="#000000">
<a HREF="javascript:openWindow('default.asp', 'minichat');">Enter chatroom</a>
</BODY>
</HTML> |
576 usuarios han valorado este
articulo.
Valoracion media:
|
Nota: Para
cualquier consulta u opinión sobre este articulo puedes usar los
foros
AspTutor lo
hacemos entre todos ¿Como vas a colaborar hoy?
|