22. august 2004 - 00:04Der er
14 kommentarer og 1 løsning
PHP chat
Jeg skal bruge noget fakta om hvordan det er bedst at programmere en PHP chat.
Er det bedst at bruge sessions ?
Er det bedst at bruge MYSQL Database ?
Er det bedst at bruge almindelige filer (men så igen hvorfor ikke session ? ) ??
Er der flere muligheder ??
Hvilken en er bedst, hvis man skulle forestille sig en en chat på 40 personer, og man ikke lige hvade sin egen server stående hjemme med en god internet forbindelse. Men at man skulle tage til takke med et web hotel, på en linie hvor man ikke kunne overbruge forbindelsen, i ved hvordan de er med deres regler.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg ved ikke hvordan du ville bruge sessions. En session indeholder jo kun data for een bruger.
>> Er det bedst at bruge MYSQL Database ?
Mja. Det er nemt at have med at gøre - og du kender sandsynligvis til mysql i forvejen.
>> Er det bedst at bruge almindelige filer
Kunne man nok også - men så skal du til at passe på med at låse filer, så kun een skriver til filen ad gangen. Og du skal så rydde op.. Det kan nemt opstå fejl.
>> Er der flere muligheder ??
Nu skriver du "det bedste"; så ville det nok være at have et program af en slags kørende på serveren som varetager et ting, så det hele ikke skal igennem mysql. Men det får du ikke webhotellet til, så mysql er fint. Og da det "kun" er til 40 brugerer, så burde det være muligt at lave uden at man ødelægger noget.
Alternativ kunne du jo bruge irc-gateway (fx javaapplet, cgi::irc (perl) - kan godt være der findes noget implementeret i php også; kan bare ikke komme på nogle navne).
jeg ved godt at du kan bruge en irc gateway, men har også hørt at man skal holde sig fra det.
Nej, webhotter tilbyder ikke at man kan have en server kørende på deres. Medmindre man overtaler dem, og tilbyder xtra kontanter, men det er jo op til mig. he he
det skal være en chat hvor som indeholder der samme som ofir.dk chatten, bare med nolge smeleys, og xtra features. Ikke det store cirkus med faver og levende lys.
men hvis man skulle bruge en database, ville det så ikke bruge man kræfter på at åbne og lukke forbindelserne hele tiden til databasen..fordi hver gang man skal opdatere et vindue, skal man jo køre det hele igennem igen.
Hvorfor skulle man holde sig fra irc? Så kan folk selv bruge en almindelig klient, hvis de har lyst. Jeg regner selv med at bruge det, istedet for at lave en chat fra bunden.
Jeg bruger ikke webchats, så jeg ved ikke hvordan ofir's virker. Jo, du skal have fat i databasen hver eneste gang og hente data. Men hvis du gør det igennem filer, så skal du jo igennem samme process. Åbne, låse, læse, evt tilføje og slette linjer, lukke.. Hver gang. Og når du låser en fil for at skrive til den, kan andre ikke læse fra den. Så det er så dig der får besværet istedet for lade mysql klare det.
Og du kan nok ikke nøjes med een fil pr rum (eller hvad det hedder) - hvis du skal private beskeder. Det kan være man kan bruge javascript til at undgå at man skal have fat i alle beskeder hver gang (sådan man kun får usete-beskeder). Men jeg kender intet til javascript :(
dennismp >> hvis en klient nu sender noget data som bliver gemt i mysql databasen, og på samme tid skal der hentes noget fra den. Jeg ved ik så meget om hvordan selve mysql servern fungere. Men hvad sker der så ?? Bliver der oprettet 2 tråde ?
en af databasens fornemmeste opgaver er at skule den slags tid. De er beregnet til den slags situationer, så du vil aldrig få halve data. Om der bliver oprettet 2 tråde er vel ligemeget, bare du får dataerne som du forventer (ligemeget om 100 andre læser og skriver samtidigt).
Jeg ved ikke om mysql bruger tråde. Har aldrig rigtig interesseret mig for det. Jeg går ud fra at den gør, men jeg tvivler på at den laver een pr. request. Jeg tror den har en pool af tråde som den så fordeler arbejdet ud på. Men det er _rent_ gætværk.
vb2: prøv at læse dette spørgsmål: http://www.eksperten.dk/spm/411641 Det burde give dig et indblik i hvilke størrelser du skal op i før databasen begynder at halte :)
Men hvis du er paranoid over at din database hele tiden skal åbens og lukkes kunne du jo tage et kig på: http://dk.php.net/mysql_pconnect
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.