Hi
hehe, ein richtiger chat ist auch ein bissel mehr :-))
Dazu wird serverseitig (und clientseitig natürlich) eine Verbindung aufgebaut und offengelassen. Danach wird immer wenn neue Daten (mehr textzeilen) vorhanden sind, diese "nachgesandt" und der Browser empfängt die auch, da die Verbindung immernoch offen ist (sogenanntes Server Push).
Das unten aufgeführte ASP Script Funktioniert komischerweuse nur im Netscape, aber wendet diese Technik an
(hmm, ich frag mich grad ob mein chat, welcher ich als PerlProgramm (nicht cgi) geschrieben habe und nur im netscape getestet habe nicht im IE läuft...)
Du kannst auch einfach die WriteBoundary weglassen, dann siehts im IE eigentlich gut aus, aber die serverbelastung ist dadurch eh enorm, und mehrere chatter lassen sich dadurch schwer handeln...
Weiter kann ich dir nicht helfen, da ich mich nicht wirklich gern ASP beschäftige :-)
----------------------------------------------------------------
<% @Language="VBScript" %>
<%
Option Explicit
Dim strBoundary
' change the following string to whatever boundary you wish to use
strBoundary = "ThisRandomString"
' turn off buffering
Response.Buffer = False
' set the content type as a multipart document
Response.ContentType = "text/html"
Response.ContentType = "multipart/mixed;boundary=" & strBoundary
' create a function to output the boundary
Sub WriteBoundary()
Response.Write vbCrLf & "--" & strBoundary & vbCrLf
Response.Write "Content-Type: text/html" & vbCrLf & vbCrLf
End Sub
' this is a very unelegant sleep function just to create a short delay
Sub Sleep(tmpSeconds)
Dim dtmOne,dtmTwo
dtmOne = Now()
While DateDiff("s",dtmOne,dtmTwo) < tmpSeconds
dtmTwo = Now()
Wend
End Sub
%>
<% WriteBoundary %>
<html><body><p>First Page</p></body></html>
<%
Sleep 1
WriteBoundary
%>
<html><body><p>Second Page</p></body></html>
<%
Sleep 1
WriteBoundary
%>
<html><body><p>Third Page</p></body></html>
----------------------------------------------------------------
Gruss
[GoE] Barna
www.TheGuardians.de