問題タブ [binance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
301 参照

java - Binance exchange.Io.netty.channel.epoll.LinuxSocket エラーのすべてのペアで websocket 接続を確立できません

私のアプリケーションのロジックでは、Binance exchange のすべてのペアに websocet 接続が必要です。

私はこのライブラリを使用します

Exchange からデータを受け取るには、次の 3 つの方法を使用します。

1.onAggTradeEvent

2.onAllMarketTickersEvent

  1. onDepthEvent

BinanceApiWebSocketClient クラスのインスタンスを 1 つだけ作成し、上記のメソッドを別のスレッドで呼び出します。これは私のコードです:

しばらくこのコードを実行すると動作しますが、websockets はエラーなしで閉じます。私の問題の解決策を検索したところ、この問題に遭遇しただけでなく、このコードに基づいてAsyncHttpClientを使用して Binance 交換用のカスタム クライアントを作成したことがわかりました。

この方法で http クライアントを初期化します。

次のように websocket を作成します。

バイナンス ライブラリのコールバック メソッドを再利用します

しかし、このコードを実行するとエラーが発生します:

java.net.ConnectException: org.asynchttpclient.netty.channel.NettyChannelConnector$1 の org.asynchttpclient.netty.channel.NettyConnectListener.onFailure(NettyConnectListener.java:179) でクラス io.netty.channel.epoll.LinuxSocket を初期化できませんでした。 org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) の onFailure(NettyChannelConnector.java:108) io.netty.util.concurrent の org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) .DefaultPromise.notifyListener0(DefaultPromise.java:511) で io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) で io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) でio.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) でorg.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) の .channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java: 106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) で、org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) で、io.netty.util.concurrent.DefaultPromise で。io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) の notifyListener0(DefaultPromise.java:511) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) の io.netty .util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) でorg.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) org.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure (NettyChannelConnector.java:106) org.asynchttpclient.netty で。SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) で org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) で io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) で io.netty .util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java) :162) io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) で org.asynchttpclient.netty.channel.NettyChannelConnector.connect0( NettyChannelConnector.java:82) org.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java) :28) io.netty.util.concurrent.DefaultPromise. notifyListenersNow(DefaultPromise.java:485) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) io.netty .channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) org.asynchttpclient.netty .channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) io.netty .channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) で org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) でorg.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener) .java:28) 組織で。io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java: 485) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) で io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener (DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) で org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) で org.asynchttpclient.netty. channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) で org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete( SimpleChannelFutureListener.java:20) で io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) で io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) で io.netty.util .concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) で io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) でio.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) org.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient .netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) で io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) で io.netty.util.concurrent.DefaultPromise.access $000(DefaultPromise.java:33) io.netty.util.concurrent.DefaultPromise$1.run(DefaultPromise.java:435) で io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:248) で io.netty.util.原因: java.lang.NoClassDefFoundError: クラス io.netty.channel.epoll.LinuxSocket を初期化できませんでしたio.netty.channel.epoll.EpollSocketChannel.(EpollSocketChannel.java:45) org.asynchttpclient.netty.channel.EpollSocketChannelFactory.newChannel(EpollSocketChannelFactory.java:23) org.asynchttpclient.netty.channel.EpollSocketChannelFactory.newChannel(EpollSocketChannelFactory) .java:19) io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:320) で、io.netty.bootstrap で。Bootstrap.doResolveAndConnect(Bootstrap.java:163) at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:156) at org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:81) ... 77共通フレームが省略されました エラー BinanceWebSocetCustomClient [BinanceWebSocetCustomClient.java:68] 新しい websocet を作成します.reportGet(CompletableFuture.java:357) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895) at org.asynchttpclient.netty.NettyResponseFuture.get(NettyResponseFuture.java:202) at exchange.binance.BinanceWebSocetCustomClient. createNewWebSocket(BinanceWebSocetCustomClient.java:65) exchange.binance.BinanceWebSocetCustomClient.onAggTradeEvent(BinanceWebSocetCustomClient.java:48) at exchange.Exchange.main(Exchange.java:74) 原因: java.net.ConnectException: クラス io.netty.channel.epoll を初期化できませんでしたorg.asynchttpclient.netty.channel.NettyConnectListener.onFailure(NettyConnectListener.java:179) の .LinuxSocket。 operationComplete(SimpleChannelFutureListener.java:28) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) .concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) io.netty .channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) で org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) でorg.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener) .java:28) 組織で。io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java: 485) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) で io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener (DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) で org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) で org.asynchttpclient.netty. channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) で org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete( SimpleChannelFutureListener.java:20) で io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) で io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) で io.netty.util .concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) で io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) でio.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) org.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient .netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) で io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) で io.netty.util.concurrent.DefaultPromise.notifyListeners (デフォルトの約束。java:424) で io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener (DefaultChannelPromise.java:30) org.asynchttpclient.netty.channel.NettyChannelConnector.connect0 (NettyChannelConnector.java:82) で org.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) で org.asynchttpclient. netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) io.netty.util.io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) でio.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java) で:30) org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) で org.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) で org.asynchttpclient.netty.channel.組織の NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106)。asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) at org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) で io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) で io.netty.util.concurrent.DefaultPromise.addListener (DefaultPromise.java:162) io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) で io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) で org.asynchttpclient.netty.channel。 NettyChannelConnector.connect0(NettyChannelConnector.java:82) org.asynchttpclient.netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) で org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) で org.asynchttpclient.netty. SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28) で org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20) で io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) で io.netty .util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java) :162) io.netty.channel で。org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:82) の io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) の DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:106) の .netty.channel.NettyChannelConnector.connect(NettyChannelConnector.java:69) org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java: 28) io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) で io.netty.util.concurrent.DefaultPromise.access$000(DefaultPromise.java:33) で io.netty.util.concurrent.DefaultPromise$1.run(DefaultPromise.java:435) で io .netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:248) で io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) で java.lang.Thread.run(Thread.java) :748) 原因: java.lang.NoClassDefFoundError: org.asynchttpclient.netty の io.netty.channel.epoll.EpollSocketChannel.(EpollSocketChannel.java:45) でクラス io.netty.channel.epoll.LinuxSocket を初期化できませんでした。 channel.EpollSocketChannelFactory.newChannel(EpollSocketChannelFactory.java:23) org.asynchttpclient.netty.channel.EpollSocketChannelFactory.newChannel(EpollSocketChannelFactory.java:19) io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:320) で io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:163) で io.netty.bootstrap.Bootstrap.connect(Bootstrap) で.java:156) at org.asynchttpclient.netty.channel.NettyChannelConnector.connect0(NettyChannelConnector.java:81) ... 77 個の共通フレームを省略

多分私はhttpクライアントを不適切な方法で設定しますか?

0 投票する
1 に答える
383 参照

laravel - Binance API 呼び出しが Lavavel コントローラーで機能しない

Binance PHP API を呼び出す laravel コントローラーを作成しています。

PHP API は、コマンド ラインから個別に実行すると完璧に機能します (例: php price.php)。

+++++++price.php++++++++

$api = new \Binance\API($api_key, $api_secret);

// 推定 BTC 値を含むすべてのポジションを取得 $price =$api->price("BNBBTC"); print_r($価格);

+++++++price.php++++++++++

ただし、laravel コントローラーから API 関数 price() を呼び出すと、何も表示されず、エラーなども表示されません。

Class PriceController extends Controller{
public function price (Request $request){

$api_key = "xxxxxxx";

$api_secret = "xxxxxxxx";

}

}

0 投票する
2 に答える
811 参照

php - Binance 400 レスポンスとパラメータの重複値が検出されました

まだAPIと接続について頭を悩ませようとしています。

Binance に買い注文をしようとしていますが、400 の応答が返ってきます。他の人にとっては問題であることは知っていますが、どこが間違っているのかを推測できないようです。誰かが私を助けてくれることを願っています。

POSTの問題だけで、すべてのGETリクエストが正常に機能しているため、署名とタイムスタンプに...または少なくともアカウントの応答を受け取っているので、そう思います.

最初の CURL は serverTime 用ですが、2 番目の CURL は売買注文用です。

これは私が今得ている応答です...

「オブジェクト ( [code] => -1102 [msg] => 必須パラメーター 'side' が送信されなかった、空/null であった、または形式が正しくありません。)」

文字列を手動で入力すると問題なく動作しますが、何らかの理由で $qs を渡すと上記の障害が発生します。$qs を画面にエコーし、$qs を渡す代わりにそれをコピーしたところ、新しいタイムスタンプを入力すると機能しました。私は困惑しています...

"symbol=TRXUSDC&side=SELL&type=LIMIT&timeInForce=GTC&quantity=63000.00000000&price=0.02550000&recvWindow=1000000×tamp=1550922237310"

何かアドバイス?