あなたにも、WSServer
の作成と実行を担当するstart
メソッドを実装し、いくつかのウェブソケットサーバーのラッパーを作成することができます我々はを持った後、それがSubscriptionManager
// in subscription.js
import { PubSub, SubscriptionManager } from 'graphql-subscriptions';
const pubSub = new PubSub();
let subscriptionManagerOptions = {
schema: schema, // this is your graphql schema
setupFunctions: {
// here come your setup functions
},
pubSub: pubSub
};
const subscriptionManager = new SubscriptionManager(subscriptionManagerOptions);
export { pubSub, subscriptionManager };
を使用してSubscriptionServer
を作成するよう3210は、私たちが今、あなたは、私が書いた二答えは、あなたがコードを見つけることができますindex.js
のような初期化ファイルにwebSocketServerWrapper
をインポートし、単にwebSocketServerWrapper.start(PORT);
Hereを実行することができます今すぐWSServer
import { createServer } from 'http';
import { SubscriptionServer } from 'subscription-transport-ws';
import { subscriptionManager } from './subscription';
const webSocketServerWrapper = {
start: function(port){
const webSocketServer = createServer((request, response) => {
response.writeHead(404);
response.end();
});
webSocketServer.listen(port,() => {
console.log('WSServer listening on port ' + port);
});
new SubscriptionServer({
subscriptionManager,
onSubscribe: (message, options, request) => {
return Promise.resolve(Object.assign({}, options, {}));
}
}, webSocketServer);
}
};
export default webSocketServerWrapper;
を実装することができ、作成しましたサンプルのサブスクリプションを作成し、どのように処理する必要があります。
私はまた、動作しなかった2台のサーバーを使用しました。私はもう一度試してみる... – shabenda
ところで、私はどのようにGraphiQLでサブスクリプションサーバのURLを指定するのですか? – shabenda
申し訳ありませんサブスクリプションサーバーを指定する方法がわかりません –