在独立的阿波罗应用程序中使用安全WebSocket (WSS) 需要以下步骤:
createServer
方法并指定协议为ws
或wss
来完成。例如:const { createServer } = require('http');
const { ApolloServer } = require('apollo-server');
const { ApolloServerPluginDrainHttpServer } = require('apollo-server-core');
const { SubscriptionServer } = require('subscriptions-transport-ws');
const { execute, subscribe } = require('graphql');
const httpServer = createServer();
const server = new ApolloServer({ /* Apollo Server 配置 */ });
await server.start();
const subscriptionServer = SubscriptionServer.create(
{ /* Subscription Server 配置 */ },
httpServer
);
await new Promise(resolve => httpServer.listen({ port: 4000 }, resolve));
console.log(`🚀 Server ready at http://localhost:4000${server.graphqlPath}`);
console.log(`🚀 Subscriptions ready at ws://localhost:4000${server.subscriptionsPath}`);
const { ApolloServerPluginDrainHttpServer } = require('apollo-server-core');
const { SubscriptionServer } = require('subscriptions-transport-ws');
const { execute, subscribe } = require('graphql');
const subscriptionServer = SubscriptionServer.create(
{
schema, // GraphQL schema
execute,
subscribe,
/* 其他配置 */
},
{
server: httpServer,
path: server.subscriptionsPath,
}
);
const fs = require('fs');
const https = require('https');
const options = {
key: fs.readFileSync('path/to/private.key'),
cert: fs.readFileSync('path/to/certificate.crt'),
passphrase: 'certificate_password',
};
const httpServer = https.createServer(options);
wss://
协议和正确的路径来连接到服务器。例如:const WebSocket = require('ws');
const client = new WebSocket('wss://localhost:4000/graphql');
这样,你就可以在独立的阿波罗应用程序中使用安全WebSocket (WSS)。请注意,以上代码示例中的配置和路径仅供参考,具体的配置和路径可能因你的应用程序和环境而异。对于更详细的配置和使用,请参考阿波罗服务器和WebSocket库的文档。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云