Chat mit Refresh bei Message abschicken bei ALLEN!?!
Marcel Böttcher
- asp.net
0 Barna
Hi!
Ich hab einen Chat in ASP programmiert!
Der funktioniert auch (Texte werden in Datenbank gespeichert und bei bestimmter Anzahl einer gelöscht), aber ich hab jetzt das Refreshen mit einem HTML Tag gelöst! Der refresh die Seite alle 3s! Bei einem richtigen Chat (chat.de) refresh er aber immer nur bei einer neuen Message!!
Wie bekomme ich das hin??
Der Chat befindet sich auf: http://www21.brinkster.com/wellekicker/chat.htm
Bitte helft mir!
Außerdem:
Folgender Script in HTML ruft einen Fehler auf:
<script language="javascript" src="graphic_counter.asp">
</script>
In der aufzurufenden ASP Datei soll der Counter um 1en erhöht werden! Klappt aber nicht, weil hier schon ein Fehler passiert!
Kann mir jemand sagen wieso?!?
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