WebSocket 클라이언트에서 들어오는 연결을 허용하는 TCP 소켓 서버를 실행할 수 있습니까? TCP 소켓 서버가 있고이를 브라우저에서 테스트 할 수 있기를 원합니다. 이것이 가능한가?브라우저의 WebSocket 클라이언트가 TCP 소켓 서버와 통신 할 수 있습니까?
4
A
답변
4
TCP와 WebSocket은 동일한 프로토콜이나 프레이밍이 아니므로 맹목적으로 연결하는 것은 효과가 없습니다. 음 ... 기술적으로 websocket은 ssl (선택 사항)에 계층화되어있는 http의 업그레이드이며, 차례로 tcp에 계층화되어 있습니다.
TCP는 바이트 스트림으로 생각할 수 있지만 WebSocket은 설정된 프레임입니다.
웹 소켓 프레임은 다음 중 하나 일 수있다 :
- TEXT - 다른 하나 UTF8 메시지를
- BINARY를 구성하는 하나 개 이상의 프레임으로 구성 - 바이트 배열 메세지를 구성하는 하나 개 이상의 프레임으로 구성
- 연속 - TEXT 및 BINARY에서 두 개 이상의 프레임을 함께 사용합니다.
- PING -
- PONG 분명 - 분명
- CLOSE은 - 프로토콜의 가까운/해제를 요청합니다.
요약하면 TCP가 websocket에 연결되도록하려면 websocket protocol framing을 구현해야합니다. 그리고 그 지점에 도달하려면 기본 HTTP UPGRADE을 구현해야합니다.
5
물론입니다! 그게 websockify의 목적입니다.
물론 WebSocket 클라이언트 응용 프로그램은 TCP 서버의 프로토콜을 구현할 수 있어야합니다. 예를 들어, noVNC은 RFB 프로토콜을 구현하는 브라우저 VNC 클라이언트이며 websockify를 사용하여 일반 TCP 기반 VNC 서버에 연결할 수 있습니다.
면책 조항 : 나는 짧은 그래서 모두 websockify 및 noVNC
관련 문제
- 1. 브라우저의 websocket 클라이언트가 헤더를 보낼 수 있습니까?
- 2. Java WebSocket 및 TCP 소켓 통신
- 3. ruby : websocket 서버와 websocket 클라이언트가 작동하지 않습니다
- 4. TCP 소켓 통신 문제
- 5. C# Tcp 서버 - HTML5 웹 소켓 통신
- 6. epub 파일이 서버와 통신 할 수 있습니까?
- 7. DDE 클라이언트가 사용자 세션에서 서버와 통신 중임
- 8. WebSocket 클라이언트가 데이터를받지 못합니다.
- 9. NodeJS의 로컬 TCP 소켓 연결에 websocket 라이브러리를 사용할 수 있습니까?
- 10. HTML5의 TCP/IP 소켓 통신
- 11. Websocket 클라이언트가 연결을 닫을 수 있습니까?
- 12. 동일한 컴퓨터에서 소켓 서버와 소켓 클라이언트를 실행할 수 있습니까?
- 13. TCP 클라이언트가 TCP 서버에 연결할 수 없습니다.
- 14. 여러 클라이언트 - 하나의 서버와 소켓 연결 tcp/ip C# .net
- 15. C# TCP 소켓 클라이언트가 서버에서 파일을 다운로드합니다.
- 16. PayPal 서버와 통신 할 수 없습니다.
- 17. SOAPMonitor가 서버와 통신 할 수 없음
- 18. 사용할 수없는 현재 상태를 보낸 후 클라이언트가 XMPP 서버와 계속 통신 할 수 있습니까?
- 19. Android Autobahn Websocket 클라이언트가 연결 손실을 어떻게 감지합니까?
- 20. 클라이언트 - 클라이언트 소켓 통신
- 21. 서버와 브라우저의 시간차
- 22. 소켓 통신?
- 23. UDP 채팅 서버 - 클라이언트가 diff 컴퓨터에서 통신 할 수 없습니다.
- 24. Swift IOS와 Java 소켓 간의 TCP 통신
- 25. Netty 웹 소켓 및 TCP 소켓
- 26. Java 애플릿 : 서버와 직렬로 통신 할 수 있습니까?
- 27. iphone 앱이 backgound로 이동할 때 서버와 통신 할 수 있습니까?
- 28. iPhone - iAd 서버와 직접 통신 할 수 있습니까?
- 29. Websocket - 클라이언트가 데이터를받지 못합니다.
- 30. PHP 서버와 웹 소켓
을 생성, 아니 그 가능하지? – jaffa
많은 추가 작업이 가능하지만 가능합니다. 말하자면 "상자에서"작동하지 않습니다. –
명확히하기 위해 스트림 대 프레임이 아니며 스트림 대 메시지입니다. TCP 프로토콜은 응용 프로그램에서 원래 메시지로 다시 어셈블해야하는 바이트 스트림을 전달합니다. WebSocket 프로토콜은 전송 된 각 메시지가 하나의 전체 메시지로 수신되도록 메시지를 전달합니다. "프레이밍"이라는 용어는 TCP와 WebSocket (실제로 모든 유선 프로토콜)에 적용되는 개념입니다. – kanaka