2013-10-16 2 views
0

URI에 대한 모든 가능한 조합을 시도했습니다. 아래는 내 코드입니다. 웹 페이지 http://www.websocket.org/echo.html을 사용하고 "위치 :"에 ws : //websocket.mtgox.com/mtgox를 입력하면 웹 페이지에 스트림에 대한 멋진 피드가 표시됩니다. 그러나 아래 예제를 복사하여 붙여 넣을 때 스트림에 동일한 URI를 사용하면 "오류 : 정의되지 않음"과 "연결 해제"가 나타납니다. 나는 행운과 함께, 아래 예제에 따라 VB로 변환 시도했다. 내가 뭘 잘못하고 있는지에 대한 어떤 생각?MtGox Websocket에 연결할 수 없습니다.

수입 WebSocket4Net

모듈 Module1의

Sub Main() 

    Dim websocket As New WebSocket4Net.WebSocket("ws://websocket.mtgox.com:80/mtgox") 
    Dim stream As String 

    Console.WriteLine(websocket.State) 
    Console.ReadKey() 




    AddHandler websocket.Opened, Sub(s, e) socketOpened() 
    AddHandler websocket.Error, Sub(s, e) socketError() 
    AddHandler websocket.Closed, Sub(s, e) socketClosed() 
    AddHandler websocket.MessageReceived, Sub(s, e) socketMessage() 
    AddHandler websocket.DataReceived, Sub(s, e) socketDataReceived() 

    websocket.Open() 

    Console.ReadKey() 

End Sub 

Sub socketOpened() 
    MsgBox("Opened") 
End Sub 

Sub socketClosed() 
    MsgBox("Closed") 
End Sub 

Sub socketError() 
    MsgBox("Error") 
End Sub 

Sub socketMessage() 
    'MsgBox(e) 
End Sub 

Sub socketDataReceived() 
    MsgBox("Data received") 
End Sub 

엔드 모듈

답변

0

내가 (MtGox API and websocketpp)를 WebSocket4Net에 익숙하지,하지만 이것은 누군가가 다른 라이브러리를 가지고있는 유사한 문제에 관련이있을 수 있습니다 Origin 헤더가 없기 때문에 MtGox가 403 오류로 연결을 취소하게되었습니다.

브라우저가 모두 Origin 헤더를 보내기 때문에 브라우저에서 작동했습니다. WebSocket 구현에 발신 핸드 셰이크에 Origin 헤더를 추가하는 방법이 있다면 이는 가치가있을 것입니다.

관련 문제