powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Socket.io протокол "обжатия" через WebSocket
7 сообщений из 7, страница 1 из 1
Socket.io протокол "обжатия" через WebSocket
    #38806226
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем
подскажите кто знает как происходит обжатие в 3-м протоколе Socket.io
что он за ... шлёт

какие то хитрые манипуляции

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
Client1[13:42:20]:
GET /socket.io/?EIO=3&transport=polling&t=1415954540255-0 HTTP/1.1
Host: localhost:3001
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://localhost:3000/
Origin: http://localhost:3000
Cookie: io=4O1-HEJ_uFhje8xeAAAC
Connection: keep-alive


Server1[13:42:20]:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Length: 101
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:3000
Set-Cookie: io=Kne4IOITfXjj5Zz-AAAD
Date: Fri, 14 Nov 2014 08:42:20 GMT
Connection: keep-alive

#($00)#($09)#($07)#($FF)0{"sid":"Kne4IOITfXjj5Zz-AAAD","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}
Client1[13:42:20]:
GET /socket.io/?EIO=3&transport=polling&t=1415954540300-1&sid=Kne4IOITfXjj5Zz-AAAD HTTP/1.1
Host: localhost:3001
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://localhost:3000/
Origin: http://localhost:3000
Cookie: io=Kne4IOITfXjj5Zz-AAAD
Connection: keep-alive


Server1[13:42:20]:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Length: 5
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:3000
Set-Cookie: io=Kne4IOITfXjj5Zz-AAAD
Date: Fri, 14 Nov 2014 08:42:20 GMT
Connection: keep-alive

#($00)#($02)#($FF)40
Client2[13:42:20]:
GET /socket.io/?EIO=3&transport=websocket&sid=Kne4IOITfXjj5Zz-AAAD HTTP/1.1
Host: localhost:3001
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Sec-WebSocket-Version: 13
Origin: http://localhost:3000
Sec-WebSocket-Key: dsdeOd/S5RRUoZJbkl15vg==
Cookie: io=Kne4IOITfXjj5Zz-AAAD
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket


Server2[13:42:20]:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: 6gNDUQfAAXJvZQVIRViSnoTa5WE=


и запустился...
...
Рейтинг: 0 / 0
Socket.io протокол "обжатия" через WebSocket
    #38806236
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Socket.io протокол "обжатия" через WebSocket
    #38806315
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да вроде нет компрессии, открыто текст шлёт

это дальше с чата отправлено "TestMsg5"
Код: pascal
1.
2.
3.
4.
5.
6.
Client2[13:42:20]:
#($81)#($81)#($99)#($FF)#($B2)#($AE)#($AC)
Client2[13:42:31]:
#($81)#($9D)#($B3)#($C4)u#($F7)#($87)#($F6).#($D5)#($D0)#($AC)#($14)#($83)#($93)#($A9)#($10)#($84)#($C0)#($A5)#($12)#($92)#($91)#($E8)W#($A3)#($D6)#($B7)#($01)#($BA)#($C0)#($A3)@#($D5)#($EE)
Server2[13:42:31]:
#($81)#($1D)42["chat message","TestMsg5"]


сервер его же и вернул

что за параметр t=1415954540255-0 в запросе даётся?
и как он потом преобразуется в
t=1415954540300-1 и преобразуется ли

sid=Kne4IOITfXjj5Zz-AAAD вроде как понятно
...
Рейтинг: 0 / 0
Socket.io протокол "обжатия" через WebSocket
    #38806327
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сжатия там точно нет, оно больше к веб-сокету относится
SRV1=0

что мутит socket.io-1.2.0 непонятно
...
Рейтинг: 0 / 0
Socket.io протокол "обжатия" через WebSocket
    #38806415
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот кстати в дебуге что сервер пишет
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
Fri, 14 Nov 2014 11:39:46 GMT engine intercepting request for path "/socket.io/"
Fri, 14 Nov 2014 11:39:46 GMT engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=1415965186270-0"
Fri, 14 Nov 2014 11:39:46 GMT engine handshaking client "ihzK_0M3dAAbCDZtAAAA"
Fri, 14 Nov 2014 11:39:46 GMT engine:socket sending packet "open" ({"sid":"ihzK_0M3dAAbCDZtAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000})
Fri, 14 Nov 2014 11:39:46 GMT engine:polling setting request
Fri, 14 Nov 2014 11:39:46 GMT engine:socket flushing buffer to transport
Fri, 14 Nov 2014 11:39:46 GMT engine:polling writing " 	пїЅ0{"sid":"ihzK_0M3dAAbCDZtAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}"
Fri, 14 Nov 2014 11:39:46 GMT engine:socket executing batch send callback
Fri, 14 Nov 2014 11:39:46 GMT engine:socket sending packet "message" (0)
Fri, 14 Nov 2014 11:39:46 GMT engine intercepting request for path "/socket.io/"
Fri, 14 Nov 2014 11:39:46 GMT engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=1415965186516-1&sid=ihzK_0M3dAAbCDZtAAAA"
Fri, 14 Nov 2014 11:39:46 GMT engine setting new request for existing client
Fri, 14 Nov 2014 11:39:46 GMT engine:polling setting request
Fri, 14 Nov 2014 11:39:46 GMT engine:socket flushing buffer to transport
Fri, 14 Nov 2014 11:39:46 GMT engine:polling writing " пїЅ40"
Fri, 14 Nov 2014 11:39:46 GMT engine:socket executing batch send callback
Fri, 14 Nov 2014 11:39:46 GMT engine upgrading existing transport
Fri, 14 Nov 2014 11:39:46 GMT engine:socket might upgrade socket transport from "polling" to "websocket"
Fri, 14 Nov 2014 11:39:46 GMT engine:ws received "2probe"
Fri, 14 Nov 2014 11:39:46 GMT engine:ws writing "3probe"
Fri, 14 Nov 2014 11:39:46 GMT engine intercepting request for path "/socket.io/"
Fri, 14 Nov 2014 11:39:46 GMT engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=1415965186529-2&sid=ihzK_0M3dAAbCDZtAAAA"
Fri, 14 Nov 2014 11:39:46 GMT engine setting new request for existing client
Fri, 14 Nov 2014 11:39:46 GMT engine:polling setting request
Fri, 14 Nov 2014 11:39:46 GMT engine:socket writing a noop packet to polling for fast upgrade
Fri, 14 Nov 2014 11:39:46 GMT engine:polling writing " пїЅ6"
Fri, 14 Nov 2014 11:39:46 GMT engine:ws received "5"
Fri, 14 Nov 2014 11:39:46 GMT engine:socket got upgrade packet - upgrading
Fri, 14 Nov 2014 11:40:11 GMT engine:ws received "2"
Fri, 14 Nov 2014 11:40:11 GMT engine:socket packet
Fri, 14 Nov 2014 11:40:11 GMT engine:socket got ping
Fri, 14 Nov 2014 11:40:11 GMT engine:socket sending packet "pong" (undefined)
Fri, 14 Nov 2014 11:40:11 GMT engine:socket flushing buffer to transport
Fri, 14 Nov 2014 11:40:11 GMT engine:ws writing "3"
Fri, 14 Nov 2014 11:40:36 GMT engine:ws received "2"
Fri, 14 Nov 2014 11:40:36 GMT engine:socket packet
Fri, 14 Nov 2014 11:40:36 GMT engine:socket got ping
Fri, 14 Nov 2014 11:40:36 GMT engine:socket sending packet "pong" (undefined)
Fri, 14 Nov 2014 11:40:36 GMT engine:socket flushing buffer to transport
Fri, 14 Nov 2014 11:40:36 GMT engine:ws writing "3"
Fri, 14 Nov 2014 11:41:01 GMT engine:ws received "2"
Fri, 14 Nov 2014 11:41:01 GMT engine:socket packet
Fri, 14 Nov 2014 11:41:01 GMT engine:socket got ping
Fri, 14 Nov 2014 11:41:01 GMT engine:socket sending packet "pong" (undefined)
Fri, 14 Nov 2014 11:41:01 GMT engine:socket flushing buffer to transport
Fri, 14 Nov 2014 11:41:01 GMT engine:ws writing "3"
Fri, 14 Nov 2014 11:41:26 GMT engine:ws received "2"
Fri, 14 Nov 2014 11:41:26 GMT engine:socket packet
Fri, 14 Nov 2014 11:41:26 GMT engine:socket got ping
Fri, 14 Nov 2014 11:41:26 GMT engine:socket sending packet "pong" (undefined)
Fri, 14 Nov 2014 11:41:26 GMT engine:socket flushing buffer to transport
Fri, 14 Nov 2014 11:41:26 GMT engine:ws writing "3"
Fri, 14 Nov 2014 11:41:51 GMT engine:ws received "2"
Fri, 14 Nov 2014 11:41:51 GMT engine:socket packet
Fri, 14 Nov 2014 11:41:51 GMT engine:socket got ping
Fri, 14 Nov 2014 11:41:51 GMT engine:socket sending packet "pong" (undefined)
Fri, 14 Nov 2014 11:41:51 GMT engine:socket flushing buffer to transport
Fri, 14 Nov 2014 11:41:51 GMT engine:ws writing "3"  
...
Рейтинг: 0 / 0
Socket.io протокол "обжатия" через WebSocket
    #38806865
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже вот эта фигня генерирует адреса для запросов

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
/**
 * Generates uri for connection.
 *
 * @api private
 */

Polling.prototype.uri = function(){
  var query = this.query || {};
  var schema = this.secure ? 'https' : 'http';
  var port = '';

  // cache busting is forced
  if (false !== this.timestampRequests) {
    query[this.timestampParam] = +new Date + '-' + Transport.timestamps++;
  }

  if (!this.supportsBinary && !query.sid) {
    query.b64 = 1;
  }

  query = parseqs.encode(query);

  // avoid port if default for schema
  if (this.port && (('https' == schema && this.port != 443) ||
     ('http' == schema && this.port != 80))) {
    port = ':' + this.port;
  }

  // prepend ? to query
  if (query.length) {
    query = '?' + query;
  }

  return schema + '://' + this.hostname + port + this.path + query;
};
...
Рейтинг: 0 / 0
Socket.io протокол "обжатия" через WebSocket
    #38807862
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу, загнался

транспорт же прямым текстом пишет :-)
Код: sql
1.
2.
Client2[13:42:20]:
GET /socket.io/?EIO=3&transport=websocket&sid=Kne4IOITfXjj5Zz-AAAD HTTP/1.1
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Socket.io протокол "обжатия" через WebSocket
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]