我在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++编写的.
我正在努力配置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) 主持人: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网络服务发现不兼容.
有人可以帮忙吗?
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)
谢谢
我正在尝试使用 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 项目,我需要从 csv 加载大量数据集。
Boot脚本需要近30s才能完成数据加载。所以这不是一个选择。
我的计划是仅在使用某些参数开始循环时才加载数据。
喜欢
node . --load-data
Run Code Online (Sandbox Code Playgroud)
或者
npm run load-data
Run Code Online (Sandbox Code Playgroud) 我想通过嵌套数据从 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 和 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) 我正在运行以下 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) 我有一组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
并且我看到数据包使用tcpdump
on lo
。尽管如此,似乎任何常规用户空间套接字都看不到环回上的此流量。
据我了解,这似乎与Linux上环回接口处理第2层的方式有关。看来我需要将第 2 层标头 (DLT) 从普通协议重写ethernet
为null
BSD 环回使用的协议。
任何有将以太网上捕获的 UDP 流量重放到环回接口的经验的人将不胜感激。pcap
我不知道如何使用/来实现这一点,或者是否可行 …
loopback ×10
loopbackjs ×3
javascript ×2
networking ×2
strongloop ×2
apache-kafka ×1
apiconnect ×1
c++ ×1
eventsource ×1
express ×1
filter ×1
jmx ×1
local ×1
loopback4 ×1
mongodb ×1
nat ×1
node.js ×1
objectid ×1
pcap ×1
sockets ×1
tcpdump ×1
tcpreplay ×1
typescript ×1
virtualbox ×1
windows ×1