Avatar billede grus Nybegynder
08. oktober 2012 - 00:52 Der er 19 kommentarer

Websockets problem

Jeg er gået igang med at kigge på websockets og har problemer med at få det til at virke (al kode med undtagelse af url'er er kopieret).

Når send()-metoden bliver kørt kommer fejlen:
[Exception... "An attempt was made to use an object that is not, or is no longer, usable" code: "11" nsresult: "0x8053000b (InvalidStateError)" location: "http://www.gerk.dk/websocket/client.html Line: 39"].

Jeg prøver i client.html at få connection til en php-fil der skal agere server på denne måde:
var host = "ws://gerk.dk:8080/websocket/server.php;

Er der nogen kloge hoveder der kan regne ud hvad fejlmeddelelsen betyder og evt fortælle mig om der er noget jeg helt har misforstået?
Avatar billede scootergrisen Nybegynder
08. oktober 2012 - 00:59 #1
Prøv og kig på følgende 2 linier og se om du kan finde fejlen.
Avatar billede scootergrisen Nybegynder
08. oktober 2012 - 02:24 #2
Hvis du ikke kan finde ud af det så erstat det jeg skrev med følgende.
Avatar billede grus Nybegynder
08. oktober 2012 - 11:16 #3
Jeg har faktisk prøvet alle ovennævnte løsninger og intat har virket. Men tror måske jeg fatter mere nu.
Mange eksempler og tutorials bruger localhost som host; jeg går ud fra det er fordi man ikke kan regne med at webservere understøtter websockets og man derfor må have en lokalt, fx Apache, og selv sørge fr at den undestøtter det, fx vha node.js...er det rigtigt forstået?
Avatar billede scootergrisen Nybegynder
08. oktober 2012 - 18:40 #4
Husk og brug det rigtige port nummer.
Avatar billede scootergrisen Nybegynder
08. oktober 2012 - 18:48 #5
Jeg har også prøvet lidt med Websocket chat og den chat jeg har prøvet virkede kun i Safari så prøv engang og test det i Safari, det er ikke sikkert det virker i alle browserne.
Så hent den nyeste Safari og prøv med den.

Du kan læse lidt om det jeg har prøvet her :
http://scootergrisen.dk/htmlgrisen/test1.php

Jeg har desværre ikke mulighed for at køre PHP kode konstant på mit webhotel så jeg kan ikke lave en chat server.

Du ved godt du skal starte chat serveren først ik ?
Det virker ikke bare ved at man besøge HTML siden i sin browser, man skal først starter chat serveren ved at skrive "php chat.php 127.0.0.1 9090" i kommandoprompten for eksempel.
Så står PHP scriptet og køre hele tiden og er klar til folk kommer og chatter.

Se eventuelt : http://weevilgenius.net/2010/10/html-5-websocket-chat-demo/
Avatar billede grus Nybegynder
08. oktober 2012 - 22:09 #6
eg har lige testet i Safari, med samme resultat: Error: INVALID_STATE_ERR: DOM Exception 11.

Jeg skal først til nu at installere webserveren på min maskine og der efter, på den ene eller anden måde, få den til at understørre websockets - har du forslag i den forbindelse?

Angående portnumre har jeg vist efterhånden prøvet alle tænkelige varianter - det kan ikke være der fejlen ligger.
Avatar billede scootergrisen Nybegynder
08. oktober 2012 - 23:26 #7
Hvad port har du startet chat serveren på på dit webhotel ?
Avatar billede scootergrisen Nybegynder
08. oktober 2012 - 23:52 #8
Ellers hvis du ikke kan få den chat til at virke så prøv den her :
http://weevilgenius.net/wp-content/uploads/2010/10/phpwebsocket.zip

Det er den jeg har prøvet og den virker i Safari 5.1.7.

Pak mappen ud i din hjemmesidemappe også start chat serveren med i kommandoprompten med :
php stitilhjemmesidemappe/server.php 127.0.0.1 8080

Så gå ind i client/index.html filen og ved linie 26 retter du linien til :
var server = "ws://127.0.0.1:8080";

Også går du ind med din browser på :
http://localhost/phpwebsocket/client/index.html

Også prøv og skriv et navn og tryk connect og skriv en besked og tryk send for at se om det virker.
Avatar billede grus Nybegynder
09. oktober 2012 - 13:37 #9
Jeg får denne fejl når jeg prøver at køre php fra kommandoprompten:

C:\Program Files (x86)\EasyPHP-12.1\php\php546x121008162058>php
Failed loading C:\Program Files (x86)\HP SimplePass 2011\;C:\Program Files\Commo
n Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Micros
oft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\
Shared;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Fi
les (x86)\QuickTime\QTSystem\\php\php546x121008162058\php_xdebug-2.2.1-5.4-vc9.d
ll

Ser rimeligt uløseligt ud
Avatar billede grus Nybegynder
09. oktober 2012 - 13:56 #10
Når jeg prøver at køre server.php i browseren får jeg denne php-fejl: Notice: Undefined variable: argc in C:\Program Files (x86)\EasyPHP-12.1\home\websocket\chat\server\server.php on line 4
Usage: server.php ip_address port.

Den siger ikke mig noget.
Avatar billede scootergrisen Nybegynder
09. oktober 2012 - 14:35 #11
Prøv og gør som jeg skrev i #8.

Skift eventuelt først til den mappe hvor php.exe ligger i.
For eksempel C:\Program Files (x86)\PHP
Avatar billede grus Nybegynder
09. oktober 2012 - 14:50 #12
Det har jeg prøvet. Ellers ville den slet ikke have fundet php.exe. Tror desværre det er et problem mellem HP og min Windows. Der er en masse windows filer og så den der HP-ting der ikke vil loades.
Avatar billede scootergrisen Nybegynder
09. oktober 2012 - 18:27 #13
Du gør det forkert så.

Når du skal skrive "php server.php 127.0.0.1 8080" i kommandoprompten har det ikke noget med din hjemmeside at gøre.

Prøv noget mere.
Avatar billede grus Nybegynder
09. oktober 2012 - 21:27 #14
Nej det er scriptet der skal startes, den er jeg med på. Men faktisk får jeg ikke engang lov at starte php. Alene kommandoen C:\stil\til\php php udløser fejlen. Så jeg må finde fejlen et andet sted.
Hvilken server har du installeret?
Avatar billede scootergrisen Nybegynder
09. oktober 2012 - 22:11 #15
Søg efter php.exe så du ved hvad mappe du skal skifte til.
Avatar billede grus Nybegynder
09. oktober 2012 - 22:16 #16
Ser ud til at det er extension-stierne i php.ini der er forkerte. Arbejder på det netop nu. Der mangler tilsyneladende php_yaz.dll som jeg prøver at udskrifte med en ny.
Avatar billede scootergrisen Nybegynder
14. oktober 2012 - 22:29 #17
Hvordan går det med chatten ?
Avatar billede grus Nybegynder
15. oktober 2012 - 10:53 #18
Nu er det jo ikke kun den chat du linkede til jeg har prøvet. Men det virker stadig ikke. Jeg testede et andet eksempel og det så ud til at serveren virkede, den spyttede i hvert fald data ud, men desværre kun i kommandoprompten. Klienten kinne jeg ikke få til at virke.
Og her til morgen vil serveren heller ikke. Skal til at kigge på nodes.js og socket.io, måske er det lettere at få til at virke.
Avatar billede grus Nybegynder
18. oktober 2012 - 22:52 #19
Node.js har foreløbig løst problemet. Så må apache vente
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