Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

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.


24/10/05 - 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>

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 5 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Pedro Rufo Martín*
Webmaster de www.asptutor.com
URL: http://www.asptutor.com/

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de ASP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en ASP


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 5 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de ASP
Categorías
+Scripts en ASP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia