问题标签 [loopback]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1441 浏览

linux - Linux 用户空间:如何将 16550 兼容的 UART 永久置于环回模式

市场上有一个兼容 16550 的 UART,我想配置它。Linux 驱动程序由制造商提供,我必须通过用户空间程序持续配置(多)UART。

持久性意味着即使我的配置器退出后配置仍保留在芯片内。

我遇到的问题是内核驱动程序中的 uart_ops 操作似乎通过其 .startup 和 .shutdown 操作影响了 MCR(调制解调器控制寄存器)的内容。手头的任务是通过将 MCR 寄存器的第 5 位(从 0 到 7)设置为 1 将 UART 置于环回模式。我通过制造商提供的 IOCTL 来做到这一点(顺便说一句,还有其他方法吗?),但是要访问 IOCTL,我必须提供一个文件描述符:这意味着一个 open()。然后,当我的配置器退出时,系统 close() 文件描述符。

因此,调用了 uart_ops.shutdown() 函数并且我的 MCR 的内容丢失了。后续应用看不到UART处于loopback模式,所以没办法测试。

怎么做?打开端口/关联设备节点,然后在 MCR 中启用环回,然后从不关闭描述符(通过睡眠或无限循环)?这是一个可以接受的解决方案吗?后续应用程序能否在环回模式下看到 UART?

如何避免在后续应用程序测试环回模式之前调用 uart_ops.shutdown 函数及其执行的 MCR 覆盖?

谢谢你。

编辑:

有问题的 UART 是 Exar XR17D158 (http://www.exar.com/connectivity/uart-and-bridging-solutions/pci-uarts/pci-uarts-universal-3-3v-or-5v/xr17d158) 和驱动程序可在此处找到:http ://www.exar.com/common/content/document.ashx ?id=20639&languageid=1033 作为 uart_ops.startup 和 uart_ops.shutdown 成员传递的 serialxr_startup 和 serialxr_shutdown 位于第 806 行和第 902 行在 xr17c15x.c 文件中。

0 投票
1 回答
3742 浏览

tcp - 如何在ping程序中发送数据

我想使用 ping 程序将数据发送到环回 IP 地址 127.0.0.1。$ping 127.0.0.1 "my data" 并希望在内核空间中看到它。如果有人有什么想法请回复我

0 投票
2 回答
656 浏览

c# - Socket.Bind 然后连接到 MS Loopback NIC

我在Windows 7 x64中创建了一个环回接口卡

说我本地机器的IP是

20.200.20。30 / 255.255.255.128

Loopback 适配器的 IP是

20.200.20。65 / 255.255.255.128

我在端口 7800 上的 20.200.20.30 上打开了一个监听套接字

在另一个线程/应用程序上,我在 20.200.20.65 上绑定了一个套接字,然后连接 20.200.20.30 但它因连接超时而失败

不过,它在 Windows XP 上运行良好。

请指教

0 投票
1 回答
720 浏览

linux-device-driver - 环回网络内核模块不工作

我是内核模块开发的新手。我正在尝试开发一个伪网络驱动程序,在没有任何实际设备的情况下以环回模式运行。我的目标是使用以下设置:

======.......============

|...if0....|......|........if1....|

======.......============

我已经从驱动程序注册了两个接口。然后我修改了从 if1 接收到的 UDP 数据包,使它看起来像在 if0 接收到的一样。但它永远不会到达侦听所有 udp if 的 udp 端口​​的 iperf 服务器应用程序。但是每当我在 if0 上通过wireshark 嗅探数据包时,似乎是在 if0 接收到数据包。但由于某种原因,它没有通过网络堆栈。

任何线索?ip 校验和和 udp 校验和都已重新计算和验证(使用 wireshark)。我正在使用 netif_rx 将数据包指示到另一个接口句柄(if0 句柄)。

我只使用了 5 个函数 ptr 回调 {open、close、xmit_start、get_stats & config} 进行网络操作。校验和也设置为 UNNECESSARY。已设置 IF 标志以指示 NO_ARP。

编辑:IP 地址输出

eth1:mtu 1500 qdisc

pfifo_fast 状态 UP qlen 1000 链接/以太 00:e0:ff:00:00:e0 brd

ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 范围 globa eth1 valid_lft

永远首选_lft永远4:

eth2:mtu 1500 qdisc pfifo_fast

状态 UP qlen 1000 链接/以太 00:e0:ff:40:00:e0 brd ff:ff:ff:ff:ff:ff

inet 192.168.2.1/24 brd 192.168.2.255 范围全局 eth2 valid_lft

永远首选_lft 永远

0 投票
4 回答
17408 浏览

java - 环回连接失败

我可能遇到过 Java 最奇怪的问题之一。我尝试启动一些应用程序,比如 Wrapper(即 I2P 路由器)并得到以下信息:

-路由器日志的一部分-

-包装日志的一部分-

在开发者论坛上,有人告诉我,我可能根本没有环回地址。这不太可能。我有其他使用环回地址的应用程序,我也关闭了 IPv6,将所有必要的选项放在包装器中忽略 IPv6。接下来我尝试在管理员帐户下启动包装器,尝试在管理员帐户下安装包括Java在内的所有东西 - 完全没用。

我没有在任何论坛上找到任何合理的答案。总是关于防火墙。但是我关闭了它,我卸载了它,在管理员帐户下关闭了 Windows 防火墙。

我还在我的 wi-fi 路由器上打开了所有必要的端口。其他程序(如 Privoxy)在环回连接和端口上工作得很好,但是如果我在网上检查一下,我会收到一条消息,说我的所有端口都被阻止了,我认为这是错误的。

我的操作系统是 Windows 7 64bit,我的无线路由器是 Speedport 723v。

我提前感谢大家的回答。

0 投票
1 回答
1694 浏览

windows-8 - Windows 8 环回如何工作?

本地服务不适用于 Windows 8 应用程序。如果我启用 Loop Back,那么我可以访问本地服务,但我的 Windows 8 应用程序将不允许出现在应用商店中。如果我不关心商店(对于业务线应用程序),我该如何使用 Loop Back?

0 投票
0 回答
1350 浏览

android - Android:替代 TCP 环回套接字连接以获得更好的性能

使用Android NDK(2.3及以上)开发网络库

场景

  1. 第三方应用程序(基于 TCP 套接字)与我们的本地库进行通信。
  2. 我们的库处理这些数据,然后使用 TCP 套接字通信与服务器进行通信。通信是双向的。

我们设计并实现了第三方应用程序和我们的 IPC 库之间的套接字通信机制。our-library 正在利用第三方应用程序端口(默认值:6700)来建立服​​务器之间的连接。

因此,它是一种环回连接,通过它我们的库和第三方应用程序之间发生通信。

问题领域

一切正常,但由于它,性能被降级。如果没有网络库,则通信非常快。为了验证问题出在环回 tcp 套接字上,我们删除了库的所有内部处理。该库仅充当应用程序的伪服务器(传递)。应用程序将数据发送到 localhost 和套接字,而库只是将其按原样转发到服务器。

> 查询

那么有什么方法可以提高性能吗?

1)Android上的UNIX域套接字怎么样,它们可以在应用程序和我们的库之间使用吗?

2)Binders 可以用来在用户级应用程序和原生 Android 库之间进行通信吗?

3) 或者我们是否有类似于 IOCTL SIO_LOOPBACK_FASTPATH 的东西(TCP 环回快速路径由应用于发送和接收套接字的套接字 IOCTL SIO_LOOPBACK_FASTPATH 启用。)传输控制协议 (TCP) 环回优化

提前谢谢了

0 投票
2 回答
713 浏览

api - 克服虚拟机上的环回设备

由于各种限制,我发现自己处于以下情况:

我可以访问在计算机(127.0.0.1)的环回设备上启动服务的 API。这台计算机实际上运行在客户端托管的 VM 上。客户端将使用相同的 API 进行连接(当然,它将通过回送设备进行连接)。

API 旨在成为与主机和客户端在同一台机器上执行的服务 - 它本质上是一个通信层。这两个软件组件(即端点)不兼容,因此我们以这种方式配置它们:客户端在 VM 上托管服务器。

VM 是 Virtualbox,具有桥接适配器网络设置。

他们都运行Windows XP。

我如何让他们交流?

编辑:我不能对通信服务进行更改,但我可以对 VM 或主机进行任何其他必要的更改。

0 投票
4 回答
88129 浏览

sockets - TCP 环回连接与 Unix 域套接字性能

处理基于 Android 和 iOS 的应用程序,需要与在同一设备中运行的服务器进行通信。目前使用 TCP 环回连接与 App 和服务器通信(App 编写在用户层,服务器使用 Android NDK 用 C++ 编写)

我想知道用 Unix 域套接字替换内部通信是否会提高性能?

或者一般来说,是否有任何证据/理论证明 Unix 域套接字会比 TCP 环回连接提供更好的性能?

0 投票
1 回答
563 浏览

windows - 在 XP 中强制使用多个 NIC 进行外部路由

没有 TCP/IP 知识的新手警报... 我正在尝试设置一个生产测试平台,通过在 XP PC 上安装 6 个 NIC 卡来测试嵌入式 6 路以太网交换机。我开始使用两个 NIC 来证明这一点,它们都在同一个子网上,手动 IP 地址为 172.16.0.1 / 172.16.0.2。路由表(route print)显示(我相信)两个环回条目:

我想删除环回条目并将它们替换为“始终外部”路由条目。即,如果您ping 172.16.0.1的数据包使用适配器 172.16.0.2,并由交换机路由回 172.16.0.1,如果您ping 172.16.0.2的数据包离开 172.16。 0.1,并通过交换机路由回 172.16.0.2,从而对电缆、交换机 IC、磁性等进行基本的连接测试。

:( route add 172.16.0.1 mask 255.255.255.255 172.16.0.2在我看来,这似乎是唯一指定使用 172.16.0.2 将数据包发送到目的地 172.16.0.1)的命令失败,并显示“路由添加失败:路由参数不正确”

While :route add 172.16.0.2 mask 255.255.255.255 172.16.0.1被接受,但我不能ping 172.16.0.2

我确实在您的旧帖子中找到了一些非常好的解释,说明表格中每一行的含义,但我显然不太了解发生了什么。我有点担心自动生成的路由表已将两个适配器指定为网关,但我不太了解其中的含义。

最终,在盒子里有 6 个 NIC,我希望能够制作一个表格,让我能够使用交换机上的每个端口。

非常感谢大卫