問題タブ [lwip]
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.
fpga - lwip ライブラリを使用すると xilinx sdka エラーが発生する
イーサネット インターフェイスを使用して MicroBlaze で Spartan 3 A にエコー サーバーを作成しようとしていますが、プロジェクトをコンパイルすると、未定義の参照エラーが発生します。lwip 1.3.0 を使用しています。
ライブラリが不足していると思いますが、どのライブラリを取得できませんか?
エラーは次のとおりです。
microblaze_0\libsrc\lwip130_v3_01_a\src/contrib/ports/xilinx/sys_arch.c:347 >「sem_post」への未定義の参照
linux - TCP/IP: 接続が確立された後にキープアライブのソケット オプションを設定する
仮想的なアプリケーションレベルのハンドシェイクの後にソケットのSO_KEEPALIVE
オプション (TCP キープアライブ間隔と TCP キープアライブ値) を設定することは可能ですか? それとも、への呼び出しの前に設定する必要がありaccept
ますか?
Linux、Windows、および eCos lwIP スタック間の相互運用性に関心があるため、両方のプラットフォームに関する情報を歓迎します。
sockets - LWIPを利用した接続制限はありますか?
Lwip プロトコルを使用して TCP サーバーを作成しています。通常、サーバーは複数の TCP クライアントに接続できます。ただし、問題があります。サーバーは 3 つを超えるアクティブな接続に接続できません。4 番目以上のクライアントが不明な理由で接続できませんでした。フォーラムを調べて、opt.h (lwip-x86_64\include\lwip\opt.h) の数の制限を増やしてみましたがMEMP_NUM_TCP_PCB
、役に立ちませんでした。
以下は私のコードです。私の質問は、LWIP を使用した最大接続制限があるかどうかです。最大接続数は3以上?
networking - LwIP を使用して組み込みシステムに VPN を実装する
組み込みシステムの既存のソフトウェア プロジェクトに VPN 機能を実装するように依頼されました。これは、デバイスをネットワーク経由で外部サーバーから利用できるようにすると同時に、ファイアウォールの問題を回避するためです (アクセス可能にするためだけに暗号化は必要ありません)。
残念ながら、組み込みシステムは Cortex-M4 MCU に基づいているため、ほとんどそのままで VPN を使用できる Linux はオプションではありません。私が持っているのは、RTOS と動作中の LwIP スタックだけです。
過去にVPNを使用したことがあります。ただし、VPN の実装に関する私のネットワーク知識はかなり限られているため、かなり困惑しています。私が思うに、トンネル接続を構築するために現在の LwIP インスタンスを使用し、アプリケーションは実際のネットワーク通信に 2 番目のインスタンスを使用し、2 番目のインスタンスのネットワーク インターフェイスは仮想のもの (タップ デバイスなど) です。低レベルのデータをカプセル化し、最初の LwIP インスタンスのトンネル接続を介して送受信します。
この方法で、問題に対するカスタム ソリューションを作成できるかもしれませんが、ソリューションはあらゆる標準に準拠する必要があります (サーバーはあらゆる種類の高度なシステムになるため)。
ですから、誰かがこのようなタスクに直面したことがあるのだろうかと思います。何をすべきか、少なくともどこを見るべきかについてのヒントをいただければ幸いです。前もって感謝します!
lwip - lwIP は、いくつかの tcp/http セグメントを単一のパケットに結合します
tcp_write()
送信時に 2 つの個別のセグメントを 1 つのパケットに結合する lwIP に問題があります ( tcp_output()
)。lwip がセグメントの結合を停止し、各セグメントを別々に (必要に応じて 2 つのパケットとして) 送信する方法はありますか? 運悪く探していた
lwip バージョン 1.3.0 を使用
freertos - lwIP + for ループの FreeRTOS ポート ストック
問題なく TCP フレームを送受信できます。しかし、ランダムな時間 (1 分から 1 時間までのすべて) の後、プログラムは失敗し、vListInsert の for ループに陥ります。
tcpip スレッドでは、コードはフレームを待ちます。これは
これは sys_arch.c で定義されており、呼び出されると例外が発生します。mbox が初期化されていることを確認し、vListInsert (vTaskPlaceOnEventList で呼び出される) のリストの繰り返しに障害を追跡できることを確認しました。
ご覧のとおり、この時点で例外が発生しているため、リストポインターが台無しになっています。理由はまだわかりません。
コールスタックは
- tcpip_thread
- sys_mbox_fetch
- sys_arch_mbox_fetch
- xQueueGenericReceive
- vTaskPlaceOnEventList
lwIP で TCPIP_THREAD_STACKSIZE (600 から 4k) と MEM_SIZE を 12k に増減しようとしましたが、うまくいきませんでした。
使用される優先順位は次の 3 つです。tskIDLE_PRIORITY+1 tskIDLE_PRIORITY+2 と 5 (これには tskIDLE_PRIORITY はありません)
FRDM-K64F ボード上で動作する Cortex M4 を使用。
Netconn API を使用し、プリエンプティブではありません。
何をすべきか、次に何を試すべきかについての説明はありますか? ここで5日間立ち往生...
編集: 最大 50 個のパケット、224 バイトのパケットを送信し、次のパケットを送信する前に 191 バイトであるサーバーからの応答を待ちます。これは 1.5 秒ごとに行われます (最大出力)。