2016-09-06 2 views
3

Julia를 통해 WebSocket에 연결하고 싶습니다. 내가 wss://echo.websocket.org에서 반향 응답을 얻으려고했지만 예상대로 응답하지 않는 것 같습니다. 흥미롭게도 잘못된 주소는 그렇지 않지만 연결되는 것처럼 보입니다.Julia에서 WebSocket 클라이언트를 작성하려면 어떻게해야합니까?

julia> client = connect("echo.websocket.org", 443) 
TCPSocket(open, 0 bytes waiting) 

julia> println(client, "Hello, world!") 

julia> readline(client) 
"" 

이렇게 할 수 있습니까?

+1

웹 소켓에는 특정 [핸드 셰이크 및 프로토콜] (https://en.wikipedia.org/wiki/WebSocket#Protocol_handshake)이 있습니다. 이것은 에코 HTTP 서버가 아닙니다. 그것이 당신의'println'이 작동하지 않는 이유입니다. –

답변

2

웹 소켓 클라이언트는 소켓을 열고 직접 읽고 쓰는 것으로 구현할 수 없습니다. 구현해야 할 합리적으로 복잡한 프로토콜이 있습니다. 또한 websocket 클라이언트는 푸시 요청을 수신하기위한 것이므로 비동기 적으로 처리 할 수있는 방법이 필요합니다. 줄리아에서 구현되는 웹 소켓 클라이언트 라이브러리가

: https://github.com/dandeliondeathray/DandelionWebSockets.jl

가 설치하려면, 수행 Pkg.clone("https://github.com/dandeliondeathray/DandelionWebSockets.jl")

는 네트워크 이벤트에 대한 이벤트 핸들러를 정의 포함 사용합니다. 에코를 사용하는 예제는 여기를 참조하십시오. https://github.com/dandeliondeathray/DandelionWebSockets.jl/blob/b23307f360ef0b62e3064c6b1484599eb660f63f/examples/echo.jl

관련 문제