Websocket은 어떻게 하나요? - 페이지 19

 
Renat Fatkhullin :

아니요, 동기 개체입니다.

mql에서 비동기에 대한 몇 가지 기능을 계획 중이라고 글을 쓴 것 같습니다.
OnSocket 이벤트가 발생할 수 있습니까 ?

 
Renat Fatkhullin :

아니요, 동기 개체입니다.

또한 소켓 이벤트 핸들러의 존재를 지원하므로 타이머에 대한 지속적인 폴링을 수행할 필요가 없습니다. 개발자가 더 우아하게 구현할 수 있다고 확신합니다.

 
Maxim Kuznetsov :

Maxim은 Websockets에 종사하고 있기 때문에 추가 매개변수 없이 프로젝트의 wss: //api.huobi.pro/ws 소켓에 연결을 시도할 수 있습니까?

목표는 우리가 C#에서 사용하는 라이브러리가 문제인지 아닌지 확인하는 것입니다.

IMHO, 어떤 경우에도 소켓은 추가 매개변수 없이 사이트를 통해 열려 있어야 합니다.

 
Fedor Arkhipov :

Maxim, Websockets에 종사하고 있기 때문에 추가 매개 변수 없이 프로젝트의 wss://api.huobi.pro/ws 소켓에 연결을 시도할 수 있습니까?

목표는 C#에서 사용하는 라이브러리가 문제인지 여부를 확인하는 것입니다.

IMHO, 어떤 경우에도 소켓은 추가 매개변수 없이 사이트를 통해 열려 있어야 합니다.

소켓이 열리고 구독이 실행됩니다.

C:\src>tclsh hibou.tcl                                                                                                                                                                                             Socket sock0000000002E8D890                                                                                                                                                                                        Connected :-)

put json:  { "sub": "market.btcusdt.kline.1min", "id": "1122" }

Message binary ▼       «V*ÈÌKW²24µ036µ425657©♣ ´áƒ!▬

Message binary ▼       «VÊLQ²R2442RÒQ*.I,)-♠òó³A¼Ò¤¤T lnbQvj‰^RIriqJ‰^vNf^ªžanf▲PQ      P¹¡©…™±©¥‘©‰‘±a- éÝ×kS

Message binary ▼       MÌÍ

à ►♦àwÙ³ˆëïêÛ´F→‰ÑÒ˜ö►òîM Ð∟g>f6ˆ#♦˜o¯)u~ïq]†Î§’kâ8ç

‘D♠ïV♫►„Rså…·^ž÷¿ òûþ♣¬↨Ã▬È     ¹u♀Jû\tÌ ñ‚·¹­µ▼⌂š“q^£C-

Message binary ▼       MÌÍ

ƒ\?↨ Òcºà°Ô­´þÇ◄ “dHy÷F(4Ç™ ™↔Â♦▲–á5ÇÆï-lëØøœS‰œ–T€A[Á“²ú¦œPŠ¬>«¶fð;¤ñOˆ♀ê3▬ðF↑âh↓„\×س%®

­CÈ   Ÿ€N æZ’ÔNôûß@âq|☺œ

데이터가 전송되지만 문서에 GZ가 음성으로 표시되지 않거나 영리한 중국인도 헤더를 망쳤습니다 :-)

나는 그들의 압축을 처리해야하지만 솔직히 너무 게으르다 :-)

추신: 이것을 수행하는 스크립트가 첨부되어 있습니다. 아무 것도 없는 줄이 있습니다. .. 이것은 4-ki에서 가져올 수 있습니다.

파일:
hibou.zip  1 kb
 
Maxim Kuznetsov :

추신: 이것을 수행하는 스크립트가 첨부되어 있습니다. 아무 것도 없는 줄이 있습니다. .. 이것은 4-ki에서 가져올 수 있습니다.

정말 감사합니다! 그래서 C# 라이브러리에 있습니다.

 
Fedor Arkhipov :

정말 감사합니다! 그래서 C# 라이브러리에 있습니다.

모든 것이 그렇게 나쁘다고 생각하지 않습니다. 오히려 옵션/설정을 조정해야 합니다. 첫째, hibou는 매우 오랫동안 연결되고, 타이머는 떨어질 수 있으며, 둘째, TLS 버전을 요구하고 있습니다.

 
Fedor Arkhipov :

정말 감사합니다! 그래서 C# 라이브러리에 있습니다.

아니요, 라이브러리 자체에는 문제가 없습니다. 나는 시간을 보내야했지만, 나는 그것을 팠다.

지적된 것을 포함하여 github에서 몇 가지 예제를 다운로드했는데 그 중 소켓이 작동하지 않았습니다. 이것은 더욱 혼란스러웠다. 그리고 그 이유는 브로커 서버의 보안 인증서를 강화했기 때문입니다.

소켓 인스턴스에서 설정을 변경합니다.

Program 클래스를 약간 조정합니다


서버가 라이브러리에 하드코딩되지 않고 어드바이저에서 설정할 수 있도록 변경되었습니다.

결과:


결과적으로 라이브러리는 매우 큰 형식으로 판명되었습니다.

다음으로 Fedor로 따옴표 호출을 고정합니다.

이 예에는 여전히 이해 당사자가 있으므로 계속 개선할 것입니다.

 
Алексей Барбашин :

시원한! 벌었다! 고마워요, Alexey!

 

MT4에 라이브러리를 적용해 보았는데, 어드바이저 파일이 에러 없이 컴파일 되고,

하지만 차트에 첨부할 때 단순 유형을 반환하는 메서드를 사용하면 "전역 초기화 실패" 오류가 발생합니다.

구조를 얻으려고하면 유효하지 않은 ex4 파일 (8)

모든 구조를 버리면 작동 할 것입니다.

또는 IL 또는 com 포트로 샤머니즘을 수행해야 합니다.

 
Fedor Arkhipov :

MT4에 라이브러리를 적용해 보았는데, 어드바이저 파일이 에러 없이 컴파일 되고,

하지만 차트에 첨부할 때 단순 유형을 반환하는 메서드를 사용하면 "전역 초기화 실패" 오류가 발생합니다.

구조를 얻으려고하면 유효하지 않은 ex4 파일 (8)

모든 구조를 버리면 작동 할 것입니다.

C#을 4-ke로 조이는 것은 별도의 슬픈 노래이며 위 스레드에서 이에 대해 썼습니다.

5-ke 간단합니다. 내부에 날카로운 부분이 있습니다. 그렇지 않으면 dll에서 문자열을 반환할 수 없습니다.