Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document the handshake process #10

Closed
rase- opened this issue Oct 6, 2014 · 15 comments
Closed

Document the handshake process #10

rase- opened this issue Oct 6, 2014 · 15 comments

Comments

@rase-
Copy link

rase- commented Oct 6, 2014

The documentation for the handshake process should be documented.

Originally requested here: socketio/socket.io#1577

@adamrothman
Copy link

+1 please, am in the process of writing an iOS client for 1.x and reverse engineering is hard.

@rauchg
Copy link
Contributor

rauchg commented Jan 26, 2015

We should add here: https://github.com/Automattic/socket.io-protocol

@jgod
Copy link

jgod commented Feb 26, 2015

+1. The lib is fantastic and all but the difficulty writing custom clients is stopping people from upgrading from 0.9.

@rauchg
Copy link
Contributor

rauchg commented Feb 26, 2015

We are working on this atm as we are preparing a Java server implementation

@littlepedro78
Copy link

Any update??

@cacharrin
Copy link

I'm writing a custom client too... any update?

@thetrompf
Copy link

The system has been abstracted a lot, and split in to 2 parts (protocol-wise), so the handshake is not handled by the socket.io-protocol but by the engine.io-protocol.

@cacharrin
Copy link

Yep, i read the engine-io.protocol... i think its very abstract too...

@computersarecool
Copy link

+1 The documentation from .9 seems to be the best (in order to find out what the 2 and 3 [heartbeat] messages mean). Unfortunately that has been removed and is a legacy repo. Going all the way through the history of that repo did help me. Perhaps those docs could just be updated?

@NeoLegends
Copy link

NeoLegends commented Jun 11, 2016

The best way to write a client for this library is by capturing the network traffic using e.g. Wireshark and using the documents from engine.io-protocol, socket.io-protocol and the respective parser-libraries to work out something that works. It takes a while, but this is the best way to go, especially since some of the information in the protocol repos seems to be out of date.

@adamrothman
Copy link

adamrothman commented Jun 12, 2016

It is crazy to me that the "best" way to write a client is still (more than a year later) to reverse-engineer the protocol by dissecting the source of some other client or snooping packets. One would think the maintainers would want to encourage external development by offering as much documentation as possible. I gave up on my client implementation due to the lack of docs, and went another direction.

¯\_(ツ)_/¯

@NeoLegends
Copy link

Yeah, that hurts.

@rlmaso2
Copy link

rlmaso2 commented Aug 31, 2016

Any update? Do you all plan to release a document detailing the handshake process?

@GimpMaster
Copy link

I'm assuming there still exists no documentation on the handshake and packet sniffing is the best course of action? Terrible if that is so.

@darrachequesne
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests