Avatar billede usse Nybegynder
13. oktober 2007 - 14:02 Der er 9 kommentarer og
1 løsning

Mit chat program, men kan det køre på et webhotel?

Jeg har lige lavet et chat program i forbindelse med en skole opgave, det kører ved hjælp af sockets, tråde, IO/ObjectStreams. Har lige prøvet at konventere det til applet, hvor det også virker.. Men kunne være sjovt at få det til at virke på mit webhotel.. Men ved ikke lige hvordan man gør det, og om det overhovedet kan lade sig gøre?
Avatar billede arne_v Ekspert
13. oktober 2007 - 15:50 #1
Du har et server program skrevet i Java ?

Hvis dit web hotel understøttter Java (servlet container), så er der visse muligheder
for at køre din chat server i en tråd startet i en startup servlets init metode. Ikke
lige hvad den slags er beregnet til men muligt.

Hvis ikke, så kan det ikke lade sig gøre.
Avatar billede usse Nybegynder
13. oktober 2007 - 17:04 #2
Ja har et server program kørende..
public class ServerStation
{
  ServerSocket serverSocket;
  HashMap<String, ClientHandler> clients;
....
Jeg har et webhotel ved one.com, men synes ikke umiddelbart at jeg kan finde oplsyninger omkring servlets :( Er der ellers andre mulighedder for hvordan man kan anvende et java chatprgram på en websever?
Avatar billede arne_v Ekspert
13. oktober 2007 - 17:23 #3
Meget få web hoteller tilbyder servlet container.

Og hvis ikke så skal det hele omskrives til noget HTTP et eller andet.

Du kan ikke selv hoste det ? As is - ikke i servlet container.
Avatar billede usse Nybegynder
13. oktober 2007 - 18:09 #4
Ok kan du ikke prøve at uddybe det med HTTP? Jeg har prøvet selv at hoste serveren på min egen computer, hvorså jeg fra Client siden kører med applet fra web serveren, men kan ikke rigtig få nogen forbindelse
Avatar billede arne_v Ekspert
14. oktober 2007 - 03:07 #5
En Java applet som sender HTTP requests til en web app som så holder state.

---

Hvis der lukkes op for den rigtige port i din router/firewall burde en Java client
kunne tilgå din server.

For en applet kræver det at appletten er hentet fra samme server som den skal
connecte til.
Avatar billede eydun Nybegynder
14. oktober 2007 - 20:56 #6
Hvis du blot vil afprøve det, så kunne du prøve http://www.myjavaserver.com/
Avatar billede usse Nybegynder
22. oktober 2007 - 18:53 #7
Hmm.. jeg har prøvet at implementere den metode for at signe up, men kan umiddelbart ikek forstå hvorfor min implementering ikke virker?
public String getHandler(String[] config, String requestUri)
{
    String[] split = requestUri.split("(\\/)");
    if(split.length == 0)
    {   
      split = new String[1];
      split[0] = requestUri;
    }   
    String handler = "2s3uWS";
       
    for(int i=0; i<split.length; i++)
    {
      if(config[3].equalsIgnoreCase(split[i]) || config[2].equalsIgnoreCase("/"+split[i]))
      {
    handler = config[3];
      }
      else if(config[1].equalsIgnoreCase(split[i]) || config[0].equalsIgnoreCase(split[i]))
      {
    handler = config[1];
      }           
    }   
    return handler;
}

Virker godt hvis jeg tester det selv hmm.. måske har jeg misforstået noget?
Avatar billede eydun Nybegynder
23. oktober 2007 - 12:33 #8
:-)

Nåh ja, den havde jeg godt nok glemt... Men det er vel ikke fair at poste en løsning her? Eller hvad? Så pyt da. :-D

---
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeSet;

public class HandlerFactory {
    public String getHandler(String[] config, String requestUri) {
        Map<String, String> m= new HashMap<String, String>();
        for (int i = 0; i < config.length; i+=2) {
            m.put(config[i], config[i+1]);
        }
        final TreeSet<String> k= new TreeSet<String>();
        k.addAll(m.keySet());
        for (String uriPrefix: new Iterable<String>(){
            public Iterator<String> iterator() {
                return k.descendingIterator();
            }}){
            if(requestUri.startsWith(uriPrefix))
                return m.get(uriPrefix);
        }
        return "2s3uWS";
    }
}
---
Avatar billede usse Nybegynder
02. november 2007 - 14:24 #9
Virker ikke !
Avatar billede eydun Nybegynder
02. november 2007 - 14:58 #10
Æhh? Jo...?

"2s3uWS" skal skiftes ud
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