对于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解释。
所以,这需要由启动webSocket的初始HTTP请求的http服务器处理。这发生在webSocket建立之前的初始连接阶段。所以,这不是你以后听的。这将需要对socket.io代码进行一些研究,以确定它是否已经将这些信息存储在socket.io socket
中,或者如何挂接到最初的http处理程序以查看此信息。我会做更多的研究。
哇,谢谢哥们!你的回答确实给了我一些想法。我现在想出如何从NodeJS HTTP层获取它 – ngzhongcai
嗨jfriend00,我试图从HTTP层获取它。但它不起作用。你能看到上面的编辑? – ngzhongcai
@ngzhongcai - 看看[这个答案](http://stackoverflow.com/questions/11182980/not-getting-remote-address-while-using-proxy-in-socket-io)这表明你可以得到remoteAddress来自'socket.handshake.headers ['x-forwarded-for'] || socket.handshake.address.address'其中'socket'是socket.io套接字。 – jfriend00
- 1. 检测TFTP数据的传入端口?
- 2. 如何测量使用socket.io内部传输的数据大小
- 3. Socket.io清理传入数据(xss)
- 4. 检查传入的数据
- 5. 网站传入http检测
- 6. 使用libpcap检测重传数据包
- 7. 数据传输中的异常检测
- 8. 检测传入请求的数据类型
- 9. 检测短信传入和传出
- 10. 将数据传递给Socket.io回调
- 11. 如何通过websocket传递表单数据? (socket.io)
- 12. 如何将php会话数据传递给socket.io?
- 13. Socket.io和Extjs:检索商店数据
- 14. Socket.io如何检查客户端的cookie数据?
- 15. 在客户端检测到Socket.IO消息传递错误
- 16. ANTLR如何在输入结束时检测垃圾数据
- 17. 如何通过音频插孔检测输入数据?
- 18. 如何检测并重新插入缺失的数据?
- 19. 如何检测数据的“相似性”
- 20. 如何检测重复数据?
- 21. 如何检测原始数据类型?
- 22. 如何检测数据库类型?
- 23. 核心数据如何检测冲突?
- 24. 检测写入数据的偏移量
- 25. C pcap检测入站数据报
- 26. apache日志入侵检测数据集
- 27. 插入检测数据库访问
- 28. 使用Socket.io传输数据后,如何释放内存中的数据?
- 29. 如何检查我的程序是否有数据传入它
- 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 \ N”。它不包含在任何HTTP中,只是一个字符串。不知道是否有可能。 – ngzhongcai
发送该字符串如何?它不能在webSocket上发送,因为这会违反协议。 – jfriend00