4

Bloomberg C++ APIの例を試していました。以下のエラーが発生しました:

ritesh@Ritesh:~/Desktop/blpapi_cpp_3.7.5.1/Linux$ ./RequestServiceExample_64 
RequestServiceExample
Connecting to port 8194 on localhost 
Server is starting------

20JUL2014_09:18:35.921 7794:139791222232832 ERROR blpapi_platformtransporttcp.cpp:671 blpapi.session.transporttcp.{1}.<localhost:8194> Connection failed 

20JUL2014_09:18:35.921 7794:139791222232832 WARN blpapi_platformcontroller.cpp:371 blpapi.session.platformcontroller.{1} Platform: 0 failed 1 consecutive connect attempts, stopped trying to reconnect. 

Server received an event

20JUL2014_09:18:35.922 7794:139791222241088 ERROR blpapi_providersessionimpl.cpp:640 blpapi.providersession.{1} Failed to start provider session: rc=9 
Failed to start server session.
Client is starting------
SessionStartupFailure = {
    reason = {
        source = "Session"
        category = "IO_ERROR"
        errorCode = 9
        description = "Connection failed"
    }
}

20JUL2014_09:18:35.922 7794:139791141598976 ERROR blpapi_platformtransporttcp.cpp:671 blpapi.session.transporttcp.{2}.<localhost:8194> Connection failed 

20JUL2014_09:18:35.922 7794:139791141598976 WARN blpapi_platformcontroller.cpp:371 blpapi.session.platformcontroller.{2} Platform: 0 failed 1 consecutive connect attempts, stopped trying to reconnect. 
Failed to start client session.
Client received an event
Press ENTER to quit

SessionStartupFailure = {
    reason = {
        source = "Session"
        category = "IO_ERROR"
        errorCode = 9
        description = "Connection failed"
    }
}

ritesh@Ritesh:~/Desktop/blpapi_cpp_3.7.5.1/Linux$ 

誰もAPIについて考えていますか? 接続しようとしている接続は何ですか? ポート 8194 でリッスンするサーバーを追加する必要はありますか?

4

2 に答える 2

7

ブルームバーグ API SDK を使用するには、ブルームバーグ サブスクリプション製品の一部として配信されるブルームバーグ データ フィードが必要です。API SDK は、ポート 8194 で TCP 接続を使用してデータ フィード エンドポイントに接続します (ご覧のとおり)。サンプル プログラムでは、エンドポイントが「localhost」にあると想定しています (ブルームバーグ プロフェッショナル ターミナルが動作しているすべてのマシンにあるように)。 .

これを Linux マシンで実行しています。そのマシンにデータ フィード アプライアンス パッケージをインストールしていない限り、'localhost' に API エンドポイントがありません。ネットワークに API エンドポイントがある場合は、サンプル プログラムに適切なコマンド ライン引数を指定して、API エンドポイントの IP アドレス (およびデフォルトでない場合はポート番号) を指定する必要があります。

(また、実行しようとしている特定のサンプル プログラムは「パブリッシャー」であり、接続にはプラットフォーム API エンドポイントが必要であり、他のタイプの API エンドポイントでは機能しないことに注意してください)

于 2014-07-25T14:09:17.637 に答える
1

ログ ファイルにエラー 9 が示されています。これは、アドレスが既に使用されていることを示しているようです。コマンドを実行して、netstatlocalhost にバインドしたポートを別のプログラムが既に使用しているかどうかを確認します。

于 2014-07-20T01:34:35.573 に答える