問題タブ [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をループバックモードで認識しないため、テストする方法はありません。
どうやってするか?ポート/関連デバイスノードを開き、MCRでループバックを有効にしてから、記述子を閉じないでください(スリープまたは無限ループを介して)?それは許容できる解決策ですか?後続のアプリケーションは、ループバックモードでUARTを認識できますか?
後続のアプリケーションがループバックモードをテストする前に、uart_ops.shutdown関数とそれが実行するMCR-overwriteの呼び出しを回避するにはどうすればよいですか?
ありがとうございました。
編集:
問題のUARTはExarXR17D158(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ループバックNICに接続します
Windows7x64でループバックインターフェイスカードを作成しました
私のローカルマシンのIPは
20.200.20。30 / 255.255.255.128
ループバックアダプタのIPは
20.200.20。65 / 255.255.255.128
ポート7800の20.200.20.30でリスニングソケットを開きます
別のスレッド/アプリケーションで、20.200.20.65のソケットをバインドしてから、20.200.20.30に接続しますが、接続タイムアウトで失敗します。
ただし、WindowsXPではうまく機能しました。
お知らせ下さい
linux-device-driver - ループバックネットワークカーネルモジュールが機能しない
カーネルモジュールの開発は初めてです。実際のデバイスがなくてもループバックモードで動作する疑似ネットワークドライバーを開発しようとしています。私の目標は、次の設定を使用することです。
====== .............. ===========
| ... if0 .... | ............. | ........ if1 ......... |
====== .............. ===========
ドライバーから2つのインターフェースを登録しました。次に、if1から受信したUDPパケットを変更して、if0で受信したように表示されるようにしました。ただし、すべてのudpifのudpポートをリッスンしているiperfサーバーアプリケーションには到達しません。しかし、if0でwiresharkを介してパケットをスニッフィングすると、パケットはif0で受信されているように見えます。しかし、何らかの理由で、ネットワークスタックを通過していません。
手がかりはありますか?ipチェックサムとudpチェックサムの両方が再計算および検証されました(wiresharkを使用)。netif_rxを使用して、他のインターフェイスハンドル(if0ハンドル)にパケットを示しています。
ネットワーク操作には、5つの関数ptrコールバック{open、close、xmit_start、get_stats&config}しか使用していません。また、チェックサムはUNNECESSARYに設定されています。NO_ARPを示すIFフラグが設定されています。
編集:IPアドレス出力
eth1:mtu 1500 qdisc
pfifo_fast状態UPqlen1000リンク/エーテル00:e0:ff:00:00:e0 brd
ff:ff:ff:ff:ff:ff inet 192.168.1.1/24brd192.168.1.255スコープglobaeth1valid_lft
永遠にpreferred_lft永遠に4:
eth2:mtu 1500 qdisc pfifo_fast
状態UPqlen1000リンク/エーテル00:e0:ff:40:00:e0 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24brd192.168.2.255スコープグローバルeth2valid_lft
永遠にpreferred_lft永遠に
java - ループバック接続の失敗
私はおそらく、これまでで最も奇妙な Java の問題の 1 つを抱えています。Wrapper (つまり I2P ルーター) などのアプリケーションを起動しようとしたところ、次の結果が得られました。
-ルーターログの一部-
-ラッパーログの一部-
開発者フォーラムで、ループバック アドレスがまったくない可能性があると言われました。これはありそうもありません。ループバックアドレスで動作する他のアプリケーションがあります。また、IPv6をオフにし、IPv6を無視するために必要なすべてのオプションをラッパーに入れました。次に、管理アカウントの下でラッパーを起動しようとし、Java を含むすべてのものを管理アカウントの下にインストールしようとしましたが、まったく役に立ちませんでした。
どのフォーラムでも合理的な答えは見つかりませんでした。常にそれはファイアウォールに関するものでした。しかし、私はそれをオフにし、アンインストールし、管理者アカウントで Windows ファイアウォールをオフにしました。
また、Wi-Fiルーターで必要なすべてのポートを開きました。Privoxy などの他のプログラムは、ループバック接続とポートでうまく機能しますが、もちろんオンラインで確認すると、すべてのポートがブロックされているというメッセージが表示されます。これは間違っていると思います。
私のオペレーティング システムは Windows 7 64 ビットで、Wi-Fi ルーターは Speedport 723v です。
事前に回答いただきありがとうございます。
windows-8 - Windows 8 ループ バックはどのように機能しますか?
ローカル サービスは、Windows 8 アプリでは利用できません。ループ バックを有効にすると、ローカル サービスにアクセスできますが、Windows 8 アプリはストアで許可されません。Store を気にしない場合 (基幹業務アプリの場合)、Loop Back を使用するにはどうすればよいですか?
android - Android: パフォーマンス向上のための TCP ループバック ソケット接続の代替
Android NDK (2.3 以降) を使用したネットワーク ライブラリの開発
シーンリオ
- サードパーティ アプリケーション (TCP ソケット ベース) は、ネイティブ ライブラリと通信します。
- 私たちのライブラリはそのデータを処理し、TCP ソケット通信を使用してサーバーと通信します。通信は双方向です。
サードパーティ製アプリと IPC 用ライブラリとの間のソケット通信メカニズムを設計および実装しました。our-library は、サーバー間の接続を確立するためにサードパーティ アプリ ポート (デフォルト: 6700) を利用しています。
したがって、これは、ライブラリとサードパーティ アプリの間で通信が行われる一種のループバック接続です。
問題領域
すべて正常に動作しますが、そのためにパフォーマンスが低下します。ネットワーク ライブラリが存在しない場合、通信は非常に高速です。問題がループバック tcp ソケットにあることを確認するために、ライブラリのすべての内部処理を削除しました。アプリケーションの疑似サーバー (パススルー) として機能するライブラリ。アプリはローカルホストとソケットにデータを送信し、ライブラリはそのままサーバーに転送するだけです。
> クエリ
では、パフォーマンスを向上させる方法はありますか?
1) Android の UNIX ドメイン ソケットはどうですか? アプリとライブラリの間で使用できますか?
2) ユーザー レベル アプリケーションとネイティブ Android ライブラリ間の通信にバインダーを使用できますか?
3) または、IOCTL SIO_LOOPBACK_FASTPATH に似たものがありますか (TCP ループバック高速パスは、送信ソケットと受信ソケットに適用されるソケット IOCTL SIO_LOOPBACK_FASTPATH によって有効になります。)伝送制御プロトコル (TCP) ループバックの最適化
よろしくお願いします
api - VM のループバック デバイスを克服する
さまざまな制約により、次のような状況に陥っています。
コンピューターのループバック デバイス (127.0.0.1) でサービスを開始する API にアクセスできます。このコンピューターは、クライアントによってホストされている VM 上で実際に実行されています。クライアントは同じ API を使用して接続します (もちろん、ループバック デバイス経由で接続します)。
API は、ホストおよびクライアントと同じマシン上で実行されるサービスであることを意図しています。これは本質的に通信層です。2 つのソフトウェア コンポーネント (つまり、エンドポイント) は互換性がないため、VM でサーバーをホストするクライアントのように構成しました。
VM は Virtualbox で、ブリッジ アダプター ネットワークがセットアップされています。
どちらも Windows XP を実行しています。
どうすれば彼らにコミュニケーションをとらせることができますか?
編集: 通信サービスを変更することはできませんが、VM またはホストに必要なその他の変更はすべて行うことができます。
sockets - TCP ループバック接続と Unix ドメイン ソケットのパフォーマンス
同じデバイスで実行されているサーバーとの通信を必要とする Android および iOS ベースのアプリケーションでの作業。現在、アプリおよびサーバーとの通信に TCP ループバック接続を使用しています (アプリはユーザー層で記述され、サーバーは Android NDK を使用して C++ で記述されています)。
相互通信を Unix ドメイン ソケットに置き換えるとパフォーマンスが向上するかどうか疑問に思っていました。
または、一般的に、Unix ドメインソケットが TCP ループバック接続よりも優れたパフォーマンスを発揮することを証明する証拠/理論はありますか?
windows - 複数の NIC を使用した XP での外部ルーティングの強制
TCP/IP の知識のない初心者向け警告... XP PC に 6 枚の NIC カードを装着して、組み込みの 6 ウェイ イーサネット スイッチをテストするための製品テスト リグをセットアップしようとしています。ポイントを証明するために、2 つの NIC から始めました。どちらも同じサブネット上にあり、172.16.0.1 / 172.16.0.2 の手動 IP アドレスです。ルーティング テーブル ( route print
) には、2 つのループバック エントリが表示されます (私は信じています)。
ループバック エントリを削除し、それらを「常に外部」ルーティング エントリに置き換えたいと思います。つまり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.1 にパケットを送信するために 172.16.0.2 の使用を一意に指定しているように思われます) は、「ルートの追加に失敗しました: ルート パラメータが正しくありません」で失敗します。
While :route add 172.16.0.2 mask 255.255.255.255 172.16.0.1
は受け入れられますが、できませんping 172.16.0.2
表の各行の意味について、あなたの古い投稿でいくつかの本当に良い説明を見つけましたが、明らかに何が起こっているのかよくわかりません. 自動生成されたルート テーブルが 2 つのアダプターをゲートウェイとして指定していることに少し懸念を抱いていますが、その意味を理解するには十分な知識がありません。
最終的には、ボックスに 6 つの NIC が入っているので、スイッチのすべてのポートを実行できるテーブルを作成できるようにしたいと考えています。
どうもありがとうデビッド