美文网首页
Feathers 使用Client Package方便连接Ser

Feathers 使用Client Package方便连接Ser

作者: 时见疏星 | 来源:发表于2019-08-21 09:27 被阅读0次

    Feathers最显着的特点之一是它也可以用作客户端。与大多数其他框架相比,它不是一个单独的库; 相反,您可以获得与客户端和服务器完全相同的功能。这意味着您可以使用服务挂钩并配置插件。默认情况下,Feathers客户端会自动创建与Feathers服务器通信的服务。

    为了连接到羽毛服务器,客户端创建服务使用一个REST或WebSocket连接中继方法调用,并允许监听事件在服务器上。这意味着Feathers应用程序实例的使用方式与服务器上的完全相同。

    与客户最相关的模块是:

    • @feathersjs/feathers初始化一个新的Feathers 应用程序
    • @ feathersjs/rest-client通过REST HTTP连接服务。
    • @ feathersjs/socketio-client通过Socket.io连接服务。
    • @ feathersjs/primus-client通过Primus连接服务。
    • @ feathersjs/authentication-client用于验证客户端

    重要提示:您不必在客户端上使用Feathers连接到Feathers服务器。上面的客户端章节还描述了如何在客户端没有Feathers的情况下直接使用REST HTTP,Socket.io或Primus连接。有关验证的详细信息,请参阅验证客户端章节

    Node客户端

    要连接到NodeJS中的Feathers服务器,请安装所需的客户端连接库(此处socket.io-client),Feathers核心库以及特定于连接的库:

    npm install @feathersjs/feathers @feathersjs/socketio-client socket.io-client --save
    

    然后像这样初始化:

    const io = require('socket.io-client');
    const feathers = require('@feathersjs/feathers');
    const socketio = require('@feathersjs/socketio-client');
    
    const socket = io('http://api.my-feathers-server.com');
    const client = feathers();
    
    client.configure(socketio(socket));
    
    const messageService = client.service('messages');
    
    messageService.on('created', message => console.log('Created a message', message));
    
    // Use the messages service from the server
    messageService.create({
      text: 'Message from client'
    });
    
    

    React Native 客户端

    React Native使用与Node客户端相同。将所需的软件包安装到React Native项目中。

    $ npm install @feathersjs/feathers @feathersjs/socketio-client socket.io-client
    
    import io from 'socket.io-client';
    import feathers from '@feathersjs/feathers';
    import socketio from '@feathersjs/socketio-client';
    
    const socket = io('http://api.my-feathers-server.com', {
      transports: ['websocket'],
      forceNew: true
    });
    const client = feathers();
    
    client.configure(socketio(socket));
    
    const messageService = client.service('messages');
    
    messageService.on('created', message => console.log('Created a message', message));
    
    // Use the messages service from the server
    messageService.create({
      text: 'Message from client'
    });
    

    由于本机作出反应的Android不处理超时超过一分钟考虑设置较低值pingIntervalpingTimeoutfeathers-socketio服务器上。这将停止与此问题相关的警告。例如:

    const app = feathers();
    const socketio = require('feathers-socketio');
    
    app.configure(socketio({
      pingInterval: 10000,
      pingTimeout: 50000
    }));
    

    https://crow.docs.feathersjs.com/api/client.html

    相关文章

      网友评论

          本文标题:Feathers 使用Client Package方便连接Ser

          本文链接:https://www.haomeiwen.com/subject/dvgvsctx.html