Для socket.io, как вы можете слушать входящие данные, отличные от тех, которые выбраны как «события»? Я ищу для чтения и обнаружения строки ProxyProtocol.Socket.io. Как обнаружить входящие данные
ответ
Я сделал небольшое исследование. Похоже, что строка прокси отправляется с начального запроса HTTP на отдельной строке с помощью команды GET, как это:
PROXY TCP4 192.168.0.1 192.168.0.11 56324 80\r\n
GET/HTTP/1.1\r\n
Host: 192.168.0.11\r\n
\r\n
Вы можете увидеть это объясняется в this article.
Таким образом, это должно быть обработано сервером http, который помечает начальный HTTP-запрос, который запускает webSocket. Это происходит на начальной стадии подключения до того, как устанавливается webSocket. Таким образом, это не то, что вы слушаете впоследствии. Изучение кода socket.io потребует изучения, если он уже хранит эту информацию на socket.io socket
или как вы можете подключиться к начальному обработчику HTTP, чтобы просмотреть эту информацию. Я сделаю немного больше исследований.
Ничего себе, спасибо, приятель! Ваш ответ дал мне несколько идей. Я теперь выясняю, как получить его с NodeJS-уровня HTTP – ngzhongcai
Привет jfriend00, я попытался получить его из уровня HTTP. Но это не работает. Вы можете увидеть вышеуказанный EDIT? – ngzhongcai
@ngzhongcai - проверьте [этот ответ] (http://stackoverflow.com/questions/11182980/not-getting-remote-address-while-using-proxy-in-socket-io), который предлагает вам получить удаленный адрес из 'socket.handshake.headers ['x-forwarded-for'] || socket.handshake.address.address', где 'socket' является сокетом socket.io. – jfriend00
- 1. Socket.io санирует входящие данные (xss)
- 2. Как обнаружить разъединения на socket.io?
- 3. Socket.io обнаружить причины разъединения
- 4. Как складывать входящие данные
- 5. Node.js: как обрабатывать входящие данные?
- 6. Входящие данные байтов
- 7. Итерация через входящие данные
- 8. Есть ли способ обнаружить входящие звонки Skype?
- 9. Проверить входящие данные
- 10. Как обнаружить входящие HTTP-запросы, отправленные анонимно через Tor?
- 11. Socket.io: Как обрабатывать все входящие сообщения на сервере?
- 12. Входящие данные XHR2 процесса (Blob)
- 13. Входящие данные Shiny R Date
- 14. Parse socket.io данные на android. (Gottox Socket.IO)
- 15. Данные чертежа в socket.io
- 16. Как обнаружить данные: изображения тег
- 17. Данные .json в Socket.io
- 18. socket.io не отправлять данные
- 19. socket.io не принимает данные
- 20. Отправить данные с socket.io
- 21. Socket.io не отправляет данные
- 22. Как обнаружить одного и того же клиента в socket.io
- 23. Я пытаюсь обнаружить входящие телефонные звонки в Android
- 24. Обнаружить первые данные связывания
- 25. обнаружить данные на смене
- 26. Почему node.js разбивает входящие данные на куски?
- 27. Разбор данные Socket.io ответ быстрые
- 28. Как отправить необработанные данные с помощью socket.io
- 29. Как отправить двоичные данные с помощью socket.io?
- 30. Как socket.io испускает и принимает простые данные?
Что вы подразумеваете под строкой «ProxyProtocol»? Уже установленный сокет socket.io только отправляет один вид дейтаграммы. Установление соединения socket.io начинается с HTTP-запроса, потому что так работает webSocket – jfriend00
Мой сервер socket.io находится за загрузчиком LoadBalancer, который отправляет строку ProxyProtocol, структура которой похожа на «PROXY TCP4 198.51.100.22 203.0.113.7 35646 80 \ r \ п». Это не обернуто ни одним HTTP, а просто строкой. Не уверен, что это возможно. – ngzhongcai
Отправляет эту строку как? Это не может быть отправлено на webSocket, поскольку это было бы нарушением протокола. – jfriend00