[Java] WebSockets

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • xehbit
  • Registratie: Februari 2009
  • Laatst online: 26-08 22:19
Hi Tweakers,

nu ik al een behoorlijke tijd bezig ben met HTML5/CSS3 ben ik websockets tegen gekomen. Daar zijn de mogelijkheden onberkt door geworden volgens mij. Ik heb demo servers gedownloaded en kon webcam beelden streamen enz. Maar nu wil ik eigenlijk zelf eens een WebSocket server maken. Voor een spel wel te verstaan. De gameserver is gemaakt in Java en je kan er Java plugins voor schrijven. Waar ik nu eigenlijk naar opzoek ben is een library waar ik een listensocket mee kan maken. Ben er al een aantal tegen gekomen zoals Jetty. Maar ik kan eigenlijk nergens een goede uitleg/tutorial vinden hoe te implementeren. De library van ToolTallNate is er simpel in gebruik. Alleen lees ik er veel over dat het geen goede library is omdat het stikt van de bugs/fouten etc..

Dus weet iemand misschien een library die ik voor listen WebSockets kan gebruiken? Ook wil ik de mogelijk heid om ongeveer 50 WebSocket connecties te hebben zonder al te veel resources te gebruiken. Dus wat is het beste om het dan te doen in Java?

Acties:
  • 0 Henk 'm!

  • WernerL
  • Registratie: December 2006
  • Laatst online: 16:40
Heb je zelf al opgezocht wat websockets precies zijn?
Om het simpel uit te leggen, websockets is een extra laag bovenop het TCP protocol. Wat je dus moet doen is een normale socketverbinding opzetten. De meeste programmeertalen hebben socketondersteuning standaard in de API zitten. Indien je java wil gebruiken voor de server google even op 'Java sockets' en je vind waarschijnlijk genoeg voorbeelden over hoe je sockets kunt gebruiken in java.

Stap 2 is het volgende document erbij pakken, want daar staat volledig in omschreven hoe het websocket protocol werkt. http://tools.ietf.org/htm...i-thewebsocketprotocol-17

Je zult dus na het opzetten van een socket verbinding nog een handshake moeten genereren, en om data te versturen en ontvangen wordt gebruik gemaakt van een framing protocol. Dat staat ook op bovenstaande link uitgelegd.

Om er voor te zorgen dat je makkelijk meerdere verbindingen open kunt zetten zou ik gebruik maken van multithreading overigens.

Roses are red, violets are blue, unexpected '{' on line 32.


Acties:
  • 0 Henk 'm!

  • MikeN
  • Registratie: April 2001
  • Laatst online: 11-09 19:11
From scratch zelf de sockethandling doen lijkt mij niet handig. Er zijn genoeg standaard libs voor, alhoewel alles nog in ontwikkeling is, zie http://stackoverflow.com/...or-server-side-websockets
Dat topic noemt volgens mij alle mogelijkheden wel, jWebsockets, Atmosphere, Play's websocket support, Jetty en Resin.

Acties:
  • 0 Henk 'm!

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 13:53

voodooless

Sound is no voodoo!

Dragon707 schreef op zaterdag 16 juni 2012 @ 20:41:
Ben er al een aantal tegen gekomen zoals Jetty. Maar ik kan eigenlijk nergens een goede uitleg/tutorial vinden hoe te implementeren.
Er zijn toch wel prima voorbeelden te vinden van Jetty i.c.m websockets, zoals hier, hier en hier? Waar is het probleem dan?

Do diamonds shine on the dark side of the moon :?