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

Fixed message id overflow #44

Merged
merged 1 commit into from
Jul 10, 2018
Merged

Conversation

Alexey-Tsarev
Copy link

@Alexey-Tsarev Alexey-Tsarev commented Jun 12, 2018

The library sends a message id with zero (65535+1) and goes to infinite reconnect loop.

According to Blynk protocol, message id has 2 bytes (values more than 65536 are impossible):
https://github.com/blynkkk/blynkkk.github.io/blob/master/BlynkProtocol.md

These situations should cause a connection drop, or reconnection attempt:
Message with ID=0 is received
Logs from local blynk server:
10:47:52.178 TRACE- Incoming id=65531, command=Ping, body=''
10:48:02.189 TRACE- Incoming id=65532, command=Ping, body=''
10:48:12.201 TRACE- Incoming id=65533, command=Ping, body=''
10:48:22.211 TRACE- Incoming id=65534, command=Ping, body=''
10:48:32.214 TRACE- Incoming id=65535, command=Ping, body=''
10:48:42.224 TRACE- Incoming id=0, command=Ping, body=''
10:48:42.696 TRACE- Hardware channel disconnect for UserKey{email='tsarev.alexey....', appName='Blynk'}, dashId ..., deviceId 0, token ....
10:48:42.713 TRACE- Changing device status. DeviceId 0, dashId 755399478
10:48:47.780 TRACE- Blynk protocol connection detected.
10:48:47.832 TRACE- Incoming LoginMessage{id=1, command=Login, body='...'}
10:48:47.866 DEBUG- completeLogin. [id: 0x87d8a1b1, L:/10.1.1.1:9444 - R:/10.1.1.15:55016]
10:48:47.883 TRACE- Connected device id 0, dash id ...
10:48:47.883 INFO - tsarev.alexey... hardware joined.
10:48:47.884 TRACE- Hardware channel disconnect for UserKey{email='tsarev.alexey...', appName='Blynk'}, dashId ..., deviceId 0, token ....
10:48:47.884 TRACE- Changing device status. DeviceId 0, dashId 755399478
10:48:57.539 TRACE- Blynk protocol connection detected.
10:48:57.607 TRACE- Incoming LoginMessage{id=1, command=Login, body='...'}
10:48:57.608 DEBUG- Re registering hard channel. [id: 0xb4de609c, L:/10.1.1.1:9444 - R:/10.1.1.15:55018]
10:48:58.257 DEBUG- completeLogin. [id: 0xb4de609c, L:/10.1.1.1:9444 - R:/10.1.1.15:55018]
10:48:58.257 TRACE- Connected device id 0, dash id ...
10:48:58.257 INFO - tsarev.alexey... hardware joined.
10:48:58.261 TRACE- Hardware channel disconnect for UserKey{email='tsarev.alexey...', appName='Blynk'}, dashId 755399478, deviceId 0, token ....

@Alexey-Tsarev
Copy link
Author

Alexey-Tsarev commented Jun 20, 2018

"Real" logs from Blynk server (with the enabled change):

11:08:23.443 TRACE- Incoming id=65524, command=Ping, body=''
11:08:33.461 TRACE- Incoming id=65525, command=Ping, body=''
11:08:43.479 TRACE- Incoming id=65526, command=Ping, body=''
11:08:53.496 TRACE- Incoming id=65527, command=Ping, body=''
11:09:03.515 TRACE- Incoming id=65528, command=Ping, body=''
11:09:13.533 TRACE- Incoming id=65529, command=Ping, body=''
11:09:23.550 TRACE- Incoming id=65530, command=Ping, body=''
11:09:33.569 TRACE- Incoming id=65531, command=Ping, body=''
11:09:43.586 TRACE- Incoming id=65532, command=Ping, body=''
11:09:53.604 TRACE- Incoming id=65533, command=Ping, body=''
11:10:03.622 TRACE- Incoming id=65534, command=Ping, body=''
11:10:13.639 TRACE- Incoming id=65535, command=Ping, body=''
11:10:23.710 TRACE- Incoming id=1, command=Ping, body=''
11:10:33.728 TRACE- Incoming id=2, command=Ping, body=''
11:10:43.747 TRACE- Incoming id=3, command=Ping, body=''
11:10:53.764 TRACE- Incoming id=4, command=Ping, body=''
11:11:03.783 TRACE- Incoming id=5, command=Ping, body=''
11:11:13.801 TRACE- Incoming id=6, command=Ping, body=''
11:11:23.819 TRACE- Incoming id=7, command=Ping, body=''
11:11:33.834 TRACE- Incoming id=8, command=Ping, body=''
11:11:43.844 TRACE- Incoming id=9, command=Ping, body=''
11:11:53.854 TRACE- Incoming id=10, command=Ping, body=''
11:12:03.872 TRACE- Incoming id=11, command=Ping, body=''
11:12:13.889 TRACE- Incoming id=12, command=Ping, body=''
11:12:23.908 TRACE- Incoming id=13, command=Ping, body=''
11:12:33.926 TRACE- Incoming id=14, command=Ping, body=''
11:12:43.943 TRACE- Incoming id=15, command=Ping, body=''

@vshymanskyy vshymanskyy merged commit 47c2b72 into vshymanskyy:master Jul 10, 2018
@vshymanskyy
Copy link
Owner

Thanks!

@guymcswain
Copy link

Can you please publish this PR to npm?

@vshymanskyy
Copy link
Owner

vshymanskyy commented Jul 25, 2018 via email

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

Successfully merging this pull request may close these issues.

3 participants