标签: loopback

绑定到127.0.0.2

我在Windows XP PC上本地运行客户端/服务器应用程序,出于测试目的,我想运行多个客户端.

服务器有一个配置文件,其中包含可以连接的客户端的IP地址; 在现实世界中,这些都将在具有单独IP地址的单独主机上.

目前我可以使用绑定到127.0.0.1的单个客户端进行本地测试,但是因为我在服务器配置中只能有一个客户端IP映射(这就是系统的工作方式,无法重新设计!)我只能运行我的开发PC上的一个客户端.

我试图启动另一个绑定到127.0.0.2的客户端应用程序连接到绑定到0.0.0.0的服务器但服务器认为客户端再次从127.0.0.1连接,因此拒绝它认为是第二个连接的第一个客户.

任何人都可以建议一种解决这个问题的方法吗?我相信我可以运行另一个绑定到PC的外部IP地址的客户端,但我真的希望能够运行多个.

我知道我可以使用VirtualBox或类似程序来运行新实例,但我希望所有客户端应用程序都在Visual Studio调试器中运行.

任何帮助非常感谢!

缺口.

PS.不确定它是否重要,但应用程序是使用标准的winsock套接字用C++编写的.

c++ sockets windows networking loopback

6
推荐指数
1
解决办法
2755
查看次数

配置Kafka仅在127.0.0.1上公开JMX

我正在努力配置Kafka的JMX只能被曝光localhost.默认情况下,当我启动Kafka时,它会暴露三个端口,而其中两个端口会自动绑定0.0.0.0,这意味着每个人都可以访问它们.

我设法将代理本身绑定到127.0.0.1(因为我只在本地需要它),但JMX端口真的让我很头疼.

我必须遵循定义的env vars:

export JMX_PORT=${JMX_PORT:-9999}
export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT -Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=127.0.0.1 -Djava.net.preferIPv4Stack=true"
Run Code Online (Sandbox Code Playgroud)

如果我现在查看绑定端口/ ips,我看到:

$ netstat -tulpn | grep 9864
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      9864/java
tcp        0      0 0.0.0.0:44895           0.0.0.0:*               LISTEN      9864/java
tcp        0      0 127.0.0.1:9092          0.0.0.0:*               LISTEN      9864/java
Run Code Online (Sandbox Code Playgroud)

这意味着JMX会监听0.0.0.0,甚至还有另一个44895我不了解其目的的开放端口.

我想要实现的是Kafka端口只能打开127.0.0.1.任何人都可以暗示一下吗?提前致谢!

编辑:

我通过添加获得了部分成功-Dcom.sun.management.jmxremote.host=localhost,但仍有一个开放端口暴露在0.0.0.0:

$ netstat -tulpn | grep 12789
tcp        0      0 127.0.0.1:9999          0.0.0.0:*               LISTEN      12789/java
tcp        0      0 0.0.0.0:43513 …
Run Code Online (Sandbox Code Playgroud)

jmx local loopback apache-kafka

6
推荐指数
1
解决办法
1196
查看次数

Virtualbox - 配置两个VM以相互通信/主机和Internet

主持人:Windows 7运行最新的VBox +扩展包

Vm1:lubuntu 3.10 Vm2:Ubuntu服务器12.04.3

问题:无法让虚拟机互相通话/ ping并同时ping互联网

NAT:虚拟机有相同的IP,使用ping/ssh就像检查连接/连接到自己,lol; 可以ping互联网,不能互相ping通

Bridged:虚拟机获得独特的IP; 可以互相ping,而不是互联网

仅限主机:虚拟机获得唯一的IP; 可以互相ping; 不是互联网

内部网络:

intnet,需要定义/添加到Windows 7,但是,窗口7不接受VBOXMANAGE add命令,给出错误.虚拟机等待网络配置,再过60秒,无需网络即可启动.

我还可以做些什么?更改VM使用NAT网络,通用驱动程序...... ??? 编辑/ etc/network/interfaces?改变路线?用鱿鱼?

在Lunbutu GUI中弹出Lubuntu Networking Message:

网络服务发现被禁用

您的cuurent网络有一个.local域,不推荐使用该域,并且该服务已被禁用的avahi网络服务发现不兼容.

有人可以帮忙吗?

networking virtualbox loopback nat

5
推荐指数
1
解决办法
5467
查看次数

过滤结果回送更改流

Strongloop Loopback是否支持更改流中的过滤?

以下内容适用于所有模型更改,但是我仅对模型部分的更改感兴趣。我可以将过滤添加到EventSource-URL吗?

var src = new EventSource('/api/mymodel/change-stream?_format=event-source');

var changes = createChangeStream(src);
changes.on('data', function(update) {
      console.log("data changed...", JSON.stringify(update));  
});
Run Code Online (Sandbox Code Playgroud)

谢谢

loopback strongloop eventsource

5
推荐指数
0
解决办法
395
查看次数

Loopback 4/MongoDB - 外键未转换为 ObjectID

我正在尝试使用 Mongo 数据库建立 hasMany 关系。我已按照环回 4 文档( https://loopback.io/doc/en/lb4/HasMany-relation.html )中的指南创建 hasMany 关系,并尝试设置不同的属性,但外键 custId 保存为字符串而不是 ObjectID。

我还从其他主题中找到了一些其他属性或选项,但人们正在使用 Loopback 3,但它似乎不适用于 Loopback 4。

我错过了什么或者有什么解决方法吗?

这是我的模型:

@model()
export class Order extends Entity {
  @property({
    type: 'string',
    id: true,
    generated: true,
  })
  id: string;

  @property({
    type: 'array',
    itemType: 'string',
    required: true,
  })
  product: string[];

  @property({
    type: 'number',
    required: true,
  })
  price: number;

  @property({
    type: 'string',
    id: true,
    generated: true,
  })
  custId: string;

  constructor(data?: Partial<Order>) {
    super(data);
  }
}


@model()
export class Customer extends Entity { …
Run Code Online (Sandbox Code Playgroud)

loopback mongodb objectid loopbackjs

5
推荐指数
1
解决办法
2248
查看次数

环回| 用于加载数据的命令行参数

对于我的 Loopback 项目,我需要从 csv 加载大量数据集。

Boot脚本需要近30s才能完成数据加载。所以这不是一个选择。

我的计划是仅在使用某些参数开始循环时才加载数据。

喜欢

node . --load-data
Run Code Online (Sandbox Code Playgroud)

或者

npm run load-data
Run Code Online (Sandbox Code Playgroud)

javascript loopback node.js express loopbackjs

5
推荐指数
0
解决办法
100
查看次数

按嵌套数据环回 REST API 过滤器

我想通过嵌套数据从 REST API 进行过滤。例如这个对象:

[
  {
    "name": "Handmade Soft Fish",
    "tags": "Rubber, Rubber, Salad",
    "categories": [
      {
        "name": "women",
        "id": 2,
        "parent_id": 0,
        "permalink": "/women"
      },
      {
        "name": "kids",
        "id": 3,
        "parent_id": 0,
        "permalink": "/kids"
      }
    ]
  },
  {
    "name": "Tasty Rubber Soap",
    "tags": "Granite, Granite, Chair",
    "categories": [
      {
        "name": "kids",
        "id": 3,
        "parent_id": 0,
        "permalink": "/kids"
      }
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

通过 GET 发送/api/products?filter[include]=categories ,我只想获取类别名称为“女性”的产品。这怎么办?

loopback filter loopbackjs

5
推荐指数
1
解决办法
3976
查看次数

使用 Loopback 4 发送电子邮件

我对 Loopback 和 Typescript 有点陌生,所以我不知道如何实现它。我试图直接调用 Nodemailer,但到目前为止我一直收到错误。

我的邮寄服务:

import { SentMessageInfo } from 'nodemailer';
import Mail = require('nodemailer/lib/mailer');
const nodemailer = require("nodemailer");

export class MailerService {
  async sendMail(mailOptions: Mail.Options): Promise<SentMessageInfo> {
    const transporter = nodemailer.createTransport({
      host: 'smtp.ethereal.email',
      port: 587,
      auth: {
        user: 'albert.grimes@ethereal.email',
        pass: 'qN85JT6SneBA9S5dhy'
      }
    });
    return await transporter.sendMail(mailOptions);
  }
}
Run Code Online (Sandbox Code Playgroud)

我的邮件控制器:

import { Request, RestBindings, get, ResponseObject } from 

'@loopback/rest';
import { inject } from '@loopback/context';
import { MailerService } from "../services";

export class MailController {
  constructor(
    @inject ??? …
Run Code Online (Sandbox Code Playgroud)

javascript loopback typescript strongloop loopback4

5
推荐指数
1
解决办法
3636
查看次数

本地主机上的 API Connect docker 网关抛出 ECONNREFUSED

我正在运行以下 node/npm/apic 版本。

$node -v
v6.14.4
$npm -v
6.4.1
$apic -v
API Connect: v5.0.8.5-iFix (apiconnect: v3.0.25)

apiconnect-init-datapower-gateway@1.0.3
Run Code Online (Sandbox Code Playgroud)

问题:我可以在端口 4001 上启动 API,在端口 4002 上启动 datapower gw。但是在控制台上出现以下错误。当我点击https://127.0.0.1:4002 时,我得到一个 404 未找到。任何帮助,将不胜感激?谢谢!

$apic services
Service test-api running on port 4001. Access the application dashboard at http://127.0.0.1:4001/appmetrics-dash
Service test-api-gw running on port 4002.

$apic edit
Express server listening on http://127.0.0.1:4001
loopback deprecated loopback#context middleware is deprecated. See https://docs.strongloop.com/display/APIC/Using%20current%20context for more details. ../../../../../../../.nvm/versions/node/v6.14.4/lib/node_modules/apiconnect/node_modules/loopback/server/middleware/rest.js:60:32
Building datapower-mgmt-server-lite
Step 1/13 : FROM node:6-alpine
 ---> dfc29bfa7d41
Step …
Run Code Online (Sandbox Code Playgroud)

loopback apiconnect

5
推荐指数
0
解决办法
269
查看次数

在环回上重放 pcap

我有一组pcap包含来自两台主机的 UDP 流量的文件,并且必须定期对此流量执行一些分析。

理想情况下,我希望避免频繁设置具有特定 IP 的本地接口等来重播这些文件。我希望能够简单地在我的环回接口上重播它们,使用tcprewrite更改pcap.

这是它目前的样子:

# Remove mac addresses for loopback interface
# Remove VLAN tags
tcprewrite \
  --enet-smac=00:00:00:00:00:00 \
  --enet-dmac=00:00:00:00:00:00 \
  --enet-vlan=del \
  --infile="${INFILE}" \
  --outfile="${OUTFILE}.tmp"

# Change source and destination IP to loopback
# Regenerate IP checksums
tcprewrite \
  --srcipmap=0.0.0.0/0:127.0.0.1 \
  --dstipmap=0.0.0.0/0:127.0.0.1 \
  --fixcsum \
  --infile="${OUTFILE}.tmp" \
  --outfile="${OUTFILE}"
Run Code Online (Sandbox Code Playgroud)

看起来差不多可以工作了。然后我可以简单地使用我的环回重播这些文件,tcpreplay并且我看到数据包使用tcpdumpon lo。尽管如此,似乎任何常规用户空间套接字都看不到环回上的此流量。

据我了解,这似乎与Linux上环回接口处理第2层的方式有关。看来我需要将第 2 层标头 (DLT) 从普通协议重写ethernetnullBSD 环回使用的协议。

任何有将以太网上捕获的 UDP 流量重放到环回接口的经验的人将不胜感激。pcap我不知道如何使用/来实现这一点,或者是否可行 …

loopback tcpdump pcap tcpreplay

5
推荐指数
0
解决办法
1017
查看次数