24. juli 2003 - 11:54Der er
29 kommentarer og 2 løsninger
Server Push mm
Heysa jeg har sat og overvejet hvad der endeligt skal til for at lave en chat med server push, og så vidt som jeg er kommet frem til skal der en slags server del bagved før det virker, nu er mit spm så hvordan gøres dette bedst og nemmest, min ide var noget i stil med at kode en app i Delphi og lade den stå og tjekke en mysql database for at se om der er kommet ny data, og hvis der er det så skal Delphi programmet "pushe" det frem til eks en HTML side, eller PHP whatever! Men spm er hvordan gøres det, det med at hente fra mysql har jeg luret, men ikke det sidste.. Kode eksempler, forklaringer mm ønskes ;)
HTTP protokollen kan kun pull ikke push. Man kan simulere push ved poll (periodisk pull). Men ægte push kræver en application ude på client og en socket (det kan gøres med en applet).
Hvis du simulerer push med poll, så er PHP tilstrækkeligt til server side.
Hvis du laver en socket løsning skal du bruge en rigtig server applikation. Den kunne udmærket laves i Delphi.
Medmindre det er kritisk at chat beskeder ikke går tabt, så tror jeg at det vil være bedst at nøjes med at holde alle beskeder i memory uden at gemme dem i en database.
Eller push med poll er vel bare evt en HTML side der står og refresher hvert 5 sec evt, mens der eks er en php script der henter data fra en sql database
Oh, der er ligefrem standard udtryk for noget ubrugeligt? Hehe. Det er ikke så fedt at lægge sin server ned fordi der logger 5 mennesker ind på chatten samtidigt :-)
darkside >> Selvom jeg ikke ved meget om dette, så kan jeg alligevel svare ja. Pointen er at HTTP ikke er designet til den slags kommunikation, og vedkommende der besøger dit site, er derfor nødt til at have en anden klient end sin browser, der kan modtage informationerne.
Jeg synes du skal beholde dem selv. Du besvarede jo nærmest dit eget spørgsmål -i- dit spørgsmål. De gode nyheder er, at Java vist ikke er vanvittig svært at lære. Især ikke hvis du kan noget php m.m i forvejen. Du kan garanteret også finde nogle tutorials om lige netop dét her på nettet, da det er et meget populært emne.
Bl.a. kan du jo lave en client applikation i Delphi også.
Men mange mennesker hader at installere den slags programmer og det gode ved en java applet er at den køtres i browseren og downloades automatisk hver gang den skal bruges, så brugerne skal ikke installere noget og de har altid nyeste version.
Derfor tror jeg at en java applet op mod en server applikation (f.eks. skrevet i Delphi) er en god løsning.
Hm det er godt nok ikke den helt rigtige kategori det her, men hvis der er nogen der kan finde tuts om java der beskriver hvordan det evt kan gøres, så falder der point af ;)
Selve server delen er ikke det store problem, det er at få java til at forbinde til mysql og trække nogen data ud og evt via sockets eller andet holde kontakt med delphi serveren.
arne_v >> Jeg er udmærket godt klar over at det ikke kommer til at lugte brændt fordi du laver en HTTP chat. Men hvis du ligger på et normalt, billigt webhotel, kan det godt være din udbyder brokker sig, hvis der er mere end et par online. Hvis du hoster hjemmefra med 512kb upload kan det også godt være din båndbredde brokker sig lidt. Jeg går ud fra darkside har adgang til egen server, ellers ville han jo have problemer med at installere sit software, og i det tilfælde har han vel også adgang til sin firewall, hvor han bare kan åbne en port.
Okay java ser faktisk ret simpelt ud, nogen der så kan anbefale et godt program til at kode i, helst ikke notepad eller noget i den stil, gerne noget med en IDE
Sad faktisk lige og lurede på jbuilder, den er vel god nok til en start, hvis det er det samme som delphi må man bare ikke sælge det man laver i den! ;)
Firewall: Delvist Touché! Mange brugere har slet ikke en firewall, mange brugere har en personlig firewall der automatisk spørger dem om de vil tillade den connection, men du har helt ret i at det -kan- være et problem.
512 Kbit: Jeg ved ikke præcis hvor mange requests det svarer til, eller hvor meget data du regner med der skal overføres, men jeg ved at medmindre han udelukkende har en chat, så er det jo ikke det eneste der sluger båndbredde.
Jeg var egentlig heller ikke ude på at starte en større diskussion med dig om fordele og ulemper ved dit og ved dat. Min oprindelige udtalelse, som du i første omgang reagerede på, var ment delvis ironisk. Jeg er overbevist om, at du er langt mere inde i de tekniske detaljer end jeg er, men vi skal også huske at den egentlige ydeevne sjældent lever op til de teoretiske beregninger.
darkside >> Hvis du endelig vil af med dine points, så skal jeg da gerne aftage et par stykker af dem, så jeg lægger dette som et svar :-)
Ikke meget...forsøger at lure java, det er bare ikke helt nemt ;) Men tak for hjælpen, lukker det her spm så i kan få jeres velfortjente point
Synes godt om
Ny brugerNybegynder
Din løsning...
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.