Websocket handshake gaat fout

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Carharttguy
  • Registratie: Juli 2010
  • Laatst online: 04-07 23:09
Hallo iedereen

Ik probeer een Websocketserver in elkaar te steken, maar het gaat al fout bij de handshake...
Programmeertaal is Xojo, maar dat maakt op zich niet veel uit, het is gewoon een TCPsocket verbinding. Ik volg https://developer.mozilla...Writing_WebSocket_servers om de server te implementeren.

Mijn code is nu dit:

code:
1
2
3
4
5
6
7
8
9
10
11
    Dim WebsocketAcceptKey As String = ComputeAcceptKey(buffer)
    Dim HTTPresponse As String
    
    HTTPresponse = "HTTP/1.1 101 Switching Protocols" + EndOfLine.Windows
    HTTPresponse = HTTPresponse +  "Upgrade: websocket" + EndOfLine.Windows
    HTTPresponse = HTTPresponse + "Connection: Upgrade" + EndOfLine.Windows
    HTTPresponse = HTTPresponse + "Sec-WebSocket-Accept: " + WebsocketAcceptKey + EndOfLine.Windows
    HTTPresponse = HTTPresponse + EndOfLine.Windows
    
    Me.Write(HTTPresponse)
    Me.Flush


Dan probeer ik 2 clients: Een onlineclient hier met Firefox: http://websocket.org/demos/echo/run/
En een Chrome extensie: Simple Websocket Client

Ik bekijk dan de headers via de ontwikkelaarstools van desbetreffende browsers, en effectief, de header komt goed door:
Afbeeldingslocatie: https://i.imgur.com/Rgdw75h.png
Afbeeldingslocatie: https://i.imgur.com/kNOoqxb.png

Toch krijg ik in de Chrome extensie een undefined error, en in de webapp een 1006 error code (wat een CLOSE_ABNORMAL errorcode is)

Heeft iemand een idee wat ik fout doe of vergeet in mijn request?
Hartelijk dank

Alle reacties


Acties:
  • +2 Henk 'm!

  • Carharttguy
  • Registratie: Juli 2010
  • Laatst online: 04-07 23:09
Zelf oplossing gevonden.. Door het hier te posten zag ik dat mijn Accept-Key overal gelijk was, dat kan natuurlijk niet. Het was een probleempje in het generaten van die Key. Nu lukt het.

Excuses voor het overbodige topic.