Announcement

Collapse
No announcement yet.

(Chatten) Web vs IRC, resume - problemlösning (OBS! MYCKET text)

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

  • (Chatten) Web vs IRC, resume - problemlösning (OBS! MYCKET text)

    Förord

    Varför mycket text? - Och varför skriva i bloggform?

    Jag tänkte att om jag ställer upp hela problemet i text framför mig själv, så borde jag rimligtvis också kunna lösa var som ni upplever som bortfall av text i chatten. Har ni frågor eller synpunkter får ni självfallet ta upp dem här om det önskas - det kanske kan förbättra chatten i sin nuvarande form.

    För övriga får jag, om ni är intresserade av mycket text, anta att jag fungerar som inspirationskälla till en av de mest ultimata chattlösningarna som finns; att kombinera två olika chattplattformer som egentligen inte är möjligt att kombinera "snyggt".

    Happy reading!





    Historik

    Eftersom jag är en gammal vän av IRC-protokollet, ett chattprotokoll som är gjort för realtidskommunikation, så har jag länge funderat på hur man skall kunna kombinera detta med en webbsida som är allt annat än - i denna formen - realtidsbaserad. Förklaring? Javisst!

    IRC - Internet Relay Chat - är beroende av en ständig anslutning. Webben å andra sidan är fortfarande interaktiv men är inte beroende av en ständig anslutning. Där ansluter en person sig mot en server, säger "Hej, det här vill jag ha" och kopplas sedan ned igen. Att försöka samköra IRC mot webben fungerar förvisso, men på grund av den ständiga anslutningen har det därför krävts att personen som vill chatta på en IRC-server att denne inte lämnar webbplatsen efter sin anslutning. Resten av kommunikationen handlar sedan om keep-alives och sessioner, där man, när man stänger ned webläsaren också stänger ned sig själv. Dels gör man det från den session som krävs av webservern för att den skall minnas vem det var som var ansluten och dels avslutas den viktiga ständigheten mot IRC-servern.

    Det finns förstås också chatter som ansluter webläsaren med hjälp av Java mot IRC, men fortfarande krävs det av användaren att denne stannar på ett och samma ställe under tiden som man vill vara online. Givetvis finns det många andra chatter som inte baseras på IRC - dessa har inte detta problemet, utan man kan vistas fritt överallt på en websida utan att förlora kommunikationen.


    Problemet

    Så hur löser man ett problem som detta? Hur skapar man en webbchatt som baseras på IRC-protokollet, men som samtidigt låter användaren fritt vistas på en websida där sidbyten är ett krav? Som jag själv lever vill man inte fastna på en plats medan man surfar. Man vill kunna göra fler saker samtidigt som man chattar och de båda sakerna man gör skall inte påverka endera saken.


    Lösningar och konsekvenser

    Lösningen fann jag i en databas-applikation som dels tar in information från webben och dels tar in information från IRC-servern. Problemet man möttes av var att applikationen inte fick skrivas som ett chattprogram, utan som en chattserver eftersom möjligheterna att skapa nya "påhittade" användare i flykten alltid måste finnas tillgängligt. Man var också tvungen att tänka på att alla användarna man skapade skulle kunna identifieras var för sig.

    Det fanns dock flera problem med denna lösningen. För varje gång användaren loggar ut så skulle all tidigare information försvinna. IRC fungerar dessutom det sättet; det som skrivits när man varit utloggad får man aldrig se när man ansluter. Applikationen möjliggjorde en fallback, så att webanvändaren kunde se X antal rader tillbaks i tiden. Problemet som uppstod i och med detta - då själva bryggan mot applikationen gjorts i flash - var att man riskerade att göra kommunikationen långsam på flera sätt; 1) Webservern som flashprogrammet pratade med skulle behöva skicka väldigt mycket data, 2) Flashprogrammet skulle göra användaren dator väldigt långsam om data hela tiden skickades i klumpar.

    Lösningen på detta var enklare än jag trott. Första versionen havererade givetvis i just dessa ovanstående problem. Andra versionen hanterade detta galant. Vid första anslutningen av flashprogrammet begär den historik. I andra svepet begär den bara senast skrivna raderna från och med det index som webservern skickar tillbaks vid varje siduppdatering. Detta begränsar mängden data som skickas mellan applikationerna betydligt.


    Just nu

    Återstående problem att tampas med är - som flera användare redan har rapporterat - att text som skrivs på chatten försvinner. Ikväll har jag upptäckt att det helt verkar handla om identifieringsproblem. Troligtvis har det uppkommit extra bekymmer med detta då chatten inte längre används på ett ställe utan flera. Användare som skickar text till chatten som inte känns igen kommer aldrig nå fram, enbart för att användaren inte har skapats ordentligt på irc-sidan. Detta ligger stället kvar i "incoming"-tabellen och väntar på uppdatering. Därför upplever användarna också att text aldrig kommer fram till chatten; den gör det, men når aldrig fram till irc-servern. Detta bör kunna lösas genom att man helt enkelt låter skapa de användare som ligger kvar i incoming-tabellen och skickar ut det till rätt plats. Alternativet är att all text tvingas ut i chatten, med enda risken att texten istället helt försvinner från ircservern.


    Mer om det återkommer jag med...

    -
Sorry, you are not authorized to view this page
Working...
X