Funkar för mig med. Det ser ganska intressant ut (nåja) när man kollar källkoden. Den växer hela tiden.
Är det Pearl eller?
26 svar · 627 visningar · startad av NoiseMaker · sida 2 av 2
Frågan, av NoiseMaker
Tjenare! är det någon som vet hur de chattrum som "aldrig slutar ladda" är byggda. Ett exempel på ett sådant chattrum är aftonbladets chatt.. den står och känner av när ett nytt meddelande kommit. Detta helt utan javaapplet eller annan clientside-applikation! hur gör man egentligen, är det pearl.. vet inte varför jag fått för mig det.. är jag helt ute och cycklar? Min nyfikenhet måste stillas!!
Läs frågan i sin helhet →Scriptet förutsätter att webläsaren inte buffrar sidan innan den skriver ut den, testade bara i mozilla och där fungerar det.
Testade nu när jag kom hem med IE och den visar ingenting, väntar antagligen på att sidan skall laddas färdig innan den ritar up sidan, undrar om det finns någon trevlig "header" rader som stänger av detta?
Jepp NPH :)
Man borde kunna göra det i php och inte "bara" i perl eller som cgi program?
Det går säkert, ska kolla på det när jag har tid och återkomma i denna tråd.
kod
noisemaker: jo det går så bra så, men jag hinner inte skala koden, du får allt som det ser ut... tänk på att den inte är speciellt optimerad
framesetet kan du ju göra själv, här e sidan som visar meddelande textrutan:
<%
application("refresh") = request.form("refresh")
if application("refresh") = "" then
application("refresh") = "10"
end if
name=request.form("Name")
sett=request.form("sett")
color=request.form("color")
nextline = request.form("NextLine")
IF NOT NextLine="" THEN
Set FileObj = Server.CreateObject("Scripting.FileSystemObject")
file = server.mappath("chat.txt")
Set File = FileObj.OpenTextFile(file)
Dim StrArr(30)
For i = 2 to 30
StrArr(i) = File.ReadLine
Next
IF sett = "skriker" then
StrArr(1) = "<b>"&LEFT(now,16)&"</b> _"& session("name") &" <i><b>"& UCASE(sett) &":</b></i> "& UCASE(Nextline)
ELSEIF sett = "viskar" then
StrArr(1) = "<b>"&LEFT(now,16)&"</b> _"& session("name") &" <i>"& sett &": "& Nextline &"</i>"
ELSEIF sett = "säger" then
StrArr(1) = "<b>"&LEFT(now,16)&"</b> _"& session("name") &" <i>"& sett &": </i>"& Nextline
END IF
File.Close
file = server.mappath("chat.txt")
Set File = FileObj.CreateTextFile(file)
For i = 1 to 30
File.WriteLine(StrArr(i))
Next
File.Close
END IF %>
<html>
<head>
<title>Chat</title>
<link rel="stylesheet" href="/includes/aikistyle.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<form method="post" action="test.asp" name="chat"><b><%=session("name")%></b>
<table width="160" border="0" cellpadding="5">
<tr>
<td> <% if sett="skriker" then
response.write("<input type=radio name=sett value=säger>Säger<br><input type=radio name=sett value=skriker checked>Skriker<br><input type=radio name=sett value=viskar>Viskar<br></font></td>")
else if sett="viskar" then
response.write("<input type=radio name=sett value=säger>Säger<br><input type=radio name=sett value=skriker>Skriker<br><input type=radio name=sett value=viskar checked>Viskar<br></font></td>")
else
response.write("<input type=radio name=sett value=säger checked>Säger<br><input type=radio name=sett value=skriker>Skriker<br><input type=radio name=sett value=viskar>Viskar<br></font></td>")
end if
end if %></td>
</tr>
<tr>
<td><br>
Meddelande:<br>
<textarea name="NextLine" cols="16" class="textfield" rows="6"></textarea>
<br>
</td>
</tr>
<tr>
<td>Uppdatera efter <br>
<input type"text" value="<%=application("refresh")%>" name="refresh" size="2" maxlength="2" class="textfield">
sekunder.<br>
</td>
</tr>
<tr>
<td>
<input type="submit" name="Submit" value="Skicka">
</td>
</tr>
</table>
<br>
</form>
</body>
</html>
här e sidan som viisar upp messen
<html>
<% refresh = application("refresh")
if refresh = "" then
refresh = "10"
end if %>
<head>
<META HTTP-EQUIV="REFRESH" CONTENT="<%=refresh%>;">
<title>Chat</title>
<link rel="stylesheet" href="/includes/aikistyle.css" type="text/css">
</head>
<body bgcolor="#ffffff">
<% myfile = server.mappath("chat.txt")
Set myfileobj = Server.CreateObject("Scripting.FileSystemObject")
Set File = myfileObj.OpenTextFile(myfile)
i=0
while not i = 30
response.write(file.readline&"<br>")
i=i+1
WEND
file.close
%>
</body>
</html>
denna kompletterar du sen med en textfil med 30 blankrader (har ej hunnit fixa detta då jag har massor med annat att göra =)
Mitt chattscript är nu klart det ligger på min server som inte är så snabb så förvänta er inte för mycket hastighet på den. :)
Adressen är:
http://www.riceri.com/cgi-bin/chat/chat.cgi
Login: test
Lösenord: test
Den som vill ha scriptet kan kontakta mig så fixar vi det.


