问题标签 [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.
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 文件中。
tcp - 如何在ping程序中发送数据
我想使用 ping 程序将数据发送到环回 IP 地址 127.0.0.1。$ping 127.0.0.1 "my data" 并希望在内核空间中看到它。如果有人有什么想法请回复我
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 上运行良好。
请指教
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 永远
java - 环回连接失败
我可能遇到过 Java 最奇怪的问题之一。我尝试启动一些应用程序,比如 Wrapper(即 I2P 路由器)并得到以下信息:
-路由器日志的一部分-
-包装日志的一部分-
在开发者论坛上,有人告诉我,我可能根本没有环回地址。这不太可能。我有其他使用环回地址的应用程序,我也关闭了 IPv6,将所有必要的选项放在包装器中忽略 IPv6。接下来我尝试在管理员帐户下启动包装器,尝试在管理员帐户下安装包括Java在内的所有东西 - 完全没用。
我没有在任何论坛上找到任何合理的答案。总是关于防火墙。但是我关闭了它,我卸载了它,在管理员帐户下关闭了 Windows 防火墙。
我还在我的 wi-fi 路由器上打开了所有必要的端口。其他程序(如 Privoxy)在环回连接和端口上工作得很好,但是如果我在网上检查一下,我会收到一条消息,说我的所有端口都被阻止了,我认为这是错误的。
我的操作系统是 Windows 7 64bit,我的无线路由器是 Speedport 723v。
我提前感谢大家的回答。
windows-8 - Windows 8 环回如何工作?
本地服务不适用于 Windows 8 应用程序。如果我启用 Loop Back,那么我可以访问本地服务,但我的 Windows 8 应用程序将不允许出现在应用商店中。如果我不关心商店(对于业务线应用程序),我该如何使用 Loop Back?
android - Android:替代 TCP 环回套接字连接以获得更好的性能
使用Android NDK(2.3及以上)开发网络库
场景
- 第三方应用程序(基于 TCP 套接字)与我们的本地库进行通信。
- 我们的库处理这些数据,然后使用 TCP 套接字通信与服务器进行通信。通信是双向的。
我们设计并实现了第三方应用程序和我们的 IPC 库之间的套接字通信机制。our-library 正在利用第三方应用程序端口(默认值:6700)来建立服务器之间的连接。
因此,它是一种环回连接,通过它我们的库和第三方应用程序之间发生通信。
问题领域
一切正常,但由于它,性能被降级。如果没有网络库,则通信非常快。为了验证问题出在环回 tcp 套接字上,我们删除了库的所有内部处理。该库仅充当应用程序的伪服务器(传递)。应用程序将数据发送到 localhost 和套接字,而库只是将其按原样转发到服务器。
> 查询
那么有什么方法可以提高性能吗?
1)Android上的UNIX域套接字怎么样,它们可以在应用程序和我们的库之间使用吗?
2)Binders 可以用来在用户级应用程序和原生 Android 库之间进行通信吗?
3) 或者我们是否有类似于 IOCTL SIO_LOOPBACK_FASTPATH 的东西(TCP 环回快速路径由应用于发送和接收套接字的套接字 IOCTL SIO_LOOPBACK_FASTPATH 启用。)传输控制协议 (TCP) 环回优化
提前谢谢了
api - 克服虚拟机上的环回设备
由于各种限制,我发现自己处于以下情况:
我可以访问在计算机(127.0.0.1)的环回设备上启动服务的 API。这台计算机实际上运行在客户端托管的 VM 上。客户端将使用相同的 API 进行连接(当然,它将通过回送设备进行连接)。
API 旨在成为与主机和客户端在同一台机器上执行的服务 - 它本质上是一个通信层。这两个软件组件(即端点)不兼容,因此我们以这种方式配置它们:客户端在 VM 上托管服务器。
VM 是 Virtualbox,具有桥接适配器网络设置。
他们都运行Windows XP。
我如何让他们交流?
编辑:我不能对通信服务进行更改,但我可以对 VM 或主机进行任何其他必要的更改。
sockets - TCP 环回连接与 Unix 域套接字性能
处理基于 Android 和 iOS 的应用程序,需要与在同一设备中运行的服务器进行通信。目前使用 TCP 环回连接与 App 和服务器通信(App 编写在用户层,服务器使用 Android NDK 用 C++ 编写)
我想知道用 Unix 域套接字替换内部通信是否会提高性能?
或者一般来说,是否有任何证据/理论证明 Unix 域套接字会比 TCP 环回连接提供更好的性能?
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,我希望能够制作一个表格,让我能够使用交换机上的每个端口。
非常感谢大卫