Avatar billede pcdl Nybegynder
19. maj 2010 - 21:21 Der er 7 kommentarer

chat oversigt med chatbeskeder / tekstbox

Hej alle sammen

Vil lige høre om der er nogen som har en ide til at lave en box med en oversigt over sendte chat beskeder som kan køre optimalt fx hvis der er 1000 brugere online uden at serveren bryder sammen

skal kunne:
hente seneste beskeder fra evt en mysql database
de seneste beskeder skal kun hentes fra det øjeblik man logger ind så altså ikke vise beskeder der er sendt før man loggede ind
og skal gerne køre forholdsvist realtime

nogen der har en ide til dette ?
Avatar billede gedfrik Nybegynder
19. maj 2010 - 22:53 #1
Der mangler en del informationer i dit spørgsmål...

- Hvor meget ved du om java?
- Har du en server, eller skal denne også programmeres?
- Du kan sagtens lave et sådan program uden brug af en server. Når du skriver at du vil gemme det i en MySql database, så er det formentlig nemmest ikke at implementere en server.

Idé og idé... Er det noget der ligefrem kræver en idé? Er det ikke bare at komme i gang? :)

Der skal være en Database-klasse, der kan tage sig af at hente og gemme beskeder...
En Klient, der kan skrive beskeder, med tilhørende brugergrænseflade... Evt. i to klasser.

Evt. en controller der deler brugergrænseflade og funktionalitet op.

Skal man kunne skrive til en bestemt person, eller bare til "alle"?

Hvis man kun skal kunne skrive til alle, så er det jo nemt bare at sende beskeden til databasen, og så bare hente alle beskeder når programmet starter op.
Avatar billede pcdl Nybegynder
20. maj 2010 - 09:29 #2
altså det skal bare være sådan en applet der kan køre fra en hjemmeside og den skal ikke kunne andet end at hente de beskeder der fra databasen
hvordan får man den evt til at hente nye beskeder hele tiden altså evt hvert 0.1 sekund
Avatar billede gedfrik Nybegynder
20. maj 2010 - 13:46 #3
Du kan fx lave en baggrundstråd, der henter beskeder og sover i x antal ms mellem hvert kald...

Eller du kan benytte dig af System.currentTimeMillis(), så du gør noget ligende dette:

long start = System.currentTimeMillis();
boolean stop = false;
while(!stop){
  while(start - System.currentTimeMillis() < 1000); // Vent
  // Hent beskeder fra databasen
  start = System.currentTimeMillis();
}

Det er måske ikke det kønneste i verden... Men det er et hurtigt eksempel. Jeg ville nok bruge en tråd i stedet...
Avatar billede arne_v Ekspert
01. juni 2010 - 04:16 #4
Thread.sleep var nok noget bedre end en busy wait !
Avatar billede arne_v Ekspert
01. juni 2010 - 04:17 #5
applet----(socket)----server app (ikke web app)----database

bør sagtens kunne klare 1000 brugere.
Avatar billede arne_v Ekspert
13. juni 2010 - 03:50 #6
pcdl ?
Avatar billede arne_v Ekspert
04. juli 2010 - 03:30 #7
??
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester