webForumDet fria alternativet

Är det Pearl eller?

Webbutveckling

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 →
Medlem sedan maj 20018 027 inlägg
#21

Funkar för mig med. Det ser ganska intressant ut (nåja) när man kollar källkoden. Den växer hela tiden.

Medlem sedan juni 20014 290 inlägg
#22

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?

Medlem sedan maj 20031 472 inlägg
#23

Jepp NPH :)

Medlem sedan juni 20014 290 inlägg
#24

Man borde kunna göra det i php och inte "bara" i perl eller som cgi program?

Medlem sedan maj 20031 472 inlägg
#25

Det går säkert, ska kolla på det när jag har tid och återkomma i denna tråd.

Medlem sedan nov. 20011 551 inlägg
#26

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 =)

Medlem sedan maj 20031 472 inlägg
#27

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.

247 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)