問題タブ [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.

0 投票する
4 に答える
13476 参照

c - LWIP + RTOS-netconnがスレッドを永久にブロックしないようにする方法は?

LwIPまたは関数が呼び出されると、RTOSを使用している場合、スレッドをブロックし、タイムアウトになるまで、または永久に接続を待機します。これは、の設定によって異なります 。タイムアウト期間はに等しくなります。netconn_accept()netconn_recv()LWIP_SO_RCVTIME0SYS_ARCH_TIMEOUT

コアではLwIPスタックの一部を含む0xffffffffSYS_ARCH_TIMEOUTとして定義されているため、変更されることはないと思います。

実際、接続が確立されているかどうかを確認したいのですが、そうでない場合はスレッドを続行します。ただし、を呼び出すと、スレッドがブロックされ、そこで永久に(または非常に長い時間)待機します...さまざまな状況でさまざまなタイムアウトが必要になるためnetconn_accept()、の定義値を変更したくありません...SYS_ARCH_TIMEOUT

それを行うための良い方法は何ですか?ありがとう。

0 投票する
4 に答える
8071 参照

c - LightWeight IP: バッファが解放されない

lwipという TCP/IP スタックを使用しています。データ パケットを受信する同様のコールバック関数から着想を得て、データ パケットを送信する以下の関数を実装しました。

パケットを受信するたびに、pbuf_alloc関数を使用してバッファーを作成します。次に、 を使用してパケットを送信しudp_sendtoます。最後に、 を使用してバッファを解放しpbuf_freeます。(以下のコードを参照してください。)

何らかの理由でpbuf_free、バッファを解放していません。n(パケットの後にバッファ オーバーフローが発生しますn。 はプール サイズです。) lwip wikiは次のように警告しています。

また、ネットワーク ドライバは、pbuf_free を呼び出すときに、pbuf メモリが実際に解放されていると想定しない場合があります。

pbuf_freeバッファを強制的に解放するにはどうすればよいですか? バッファオーバーフローはどのように回避されますか?

(以下の私の実装。)

0 投票する
4 に答える
1870 参照

server-side-includes - HTMLフォーム内のSSIタグ?

フィールドに SSI タグ データを事前入力したい単純な HTML フォームがあります。これは私がやったことです:

結果はやや残念です:

タグはフォームに表示されます!  クラッド!

これらの IP 値が 32 ビット整数として表示されることは気にしないでください。これについては後で扱います。気になるのは、タグがフォームに表示されていることです。タグを置き換えるのではなく、フォームで値がタグに追加される理由を誰かに教えてもらえますか?

これは、LWIP スタックを実行している TI LM3S9D96 MCU で発生しています。

0 投票する
1 に答える
1528 参照

security - Stellaris32ビットマイクロコントローラー上のlwIP-セキュアログイン

Stellaris LM3S8962マイクロコントローラーを、インターネットと一連のセンサーの間のブリッジとして使用したいと思います。センサーからマイクロコントローラーへの通信にはZigbeeノードを使用します。lwIP TCP / IPスタック(LM3S8962用)を使用して、コントローラーのフラッシュに保存されているHTMLページにアクセスすることができました。

今、私は同じための安全なログインシステムを追加したいと思います。基本的に必要なのは、ブラウザーにコントローラーのIPを入力すると、ユーザー名とパスワードの入力を求められることです。lwIP TCP / IPスタックを使用して、このシステムを可能な限り安全にしたい。

参考までに、スタックはPHPやその他のスクリプトをサポートしていません。CGI機能(C)はサポートされていますが、セキュリティ部分を実装する方法がわかりません。ご案内ください。

0 投票する
1 に答える
1208 参照

arm - プロジェクトを TrueSTUDIO から CrossWorks に切り替えたときの memcpy でのハード フォールト

残念ながら、STM32F4 開発ボードの開発に CrossWorks を使用する必要があり、CrossWorks を使用してプロジェクトをビルドおよび実行する場合にのみ発生する問題に直面しています。

LwIP を使用して UDP サーバーを作成していますが、TrueSTUDIO を使用すると問題なく動作しています。ただし、CrossWorks で実行すると、ethernetif_input() にハード フォールトが発生します。これは、パケットの読み取り準備が整ったときに呼び出されます。失敗する特定のポイントは、パケット バッファ間でパケット情報を移動中に memcpy() を呼び出したときです。

何が変わったのかわかりません。まったく同じコードで、同じターゲット向けにビルドされており、CrossWorks では壊れています。誰かがこの問題のどの部分についても洞察を持っていることを願っています...これに関して何か考えがあれば、それは素晴らしいことです.

ありがとうございます。詳細が必要な場合はお知らせください。

0 投票する
0 に答える
532 参照

broadcast - lwip はマルチキャストまたはブロードキャストをサポート

LWIPでは、マルチキャストやブロードキャストに対応していることが確認されていますが、送信者がブロードキャストを使ってデータやパケットを送るとどうなるでしょうか? ACKのメカニズムはありますか?それでは、送信者側で内破の問題が発生します..信頼性のためにACKに従うか、ACKメカニズムと信頼性がないかのいずれかで何が起こるかという問題を見つけるのを手伝ってください. このプロトコルで輻輳制御はどのように行われますか?

0 投票する
1 に答える
2142 参照

c - UDP パッケージを NTP サーバーに送信し、時刻を受信 (lwip、Cortex M3、Stellaris LM3S6965 評価ボード)

Cortex M3、Stellaris® LM3S6965 評価ボードを使用しています。古い画面に NTP サーバーの時刻を表示したいと考えています。まず、NTP サーバーからの応答を取得します。サーバーがUDPで動作することを検索しました。そしてそれは私にタイムスタンプを与えます。LWIP ライブラリを使用しています。

サーバーに UDP パケットを送信しようとしていますが、受信したパケット データをディスプレイ (タイムスタンプ) に表示したいと考えています。

したがって、udp パッケージを TNP サーバーに送信し、タイムスタンプを受信する必要があると思います。

しかし、どういうわけか機能していません。皆さんが解決策を見つけるのを手伝ってくれることを願っています.

編集:

NTPに関する詳細情報も見つかりました here

更新されたプログラム:

0 投票する
3 に答える
28817 参照

udp - NTP リクエスト パケット

サーバーから NTP パッケージを取得するために、NTP 要求パッケージで何を送信する必要があるか (クライアント) を把握しようとしています。Cortex M3、Stellaris LM3S6965 で LWIP を使用しています。

UDP ヘッダーを受信し、次にさまざまなタイムスタンプを持つ NTP プロトコルを受信して​​、レイテンシーを削除することを理解しています。UDP ヘッダーを作成する必要があると思われますが、データとして何を追加する必要がありますか?

Wireshark イメージ: ここに画像の説明を入力

皆さんが私を助けてくれることを願っています。

0 投票する
3 に答える
9131 参照

c - UDPパッケージ(lwip、Cortex M3、Stellaris LM3S6965評価ボード)を送信します

私はCortexM3、Stellaris®LM3S6965評価ボードを使用しています。UDPパケットをNTPサーバーに送信しようとしています。私は何日も何日も探していました。

しかし、それは機能していません。誰かが私を助けることができますか?コールバック関数が呼び出されていないと思います。

プログラムの完全なコード:http://codepaste.net/uuy8sg

0 投票する
1 に答える
2269 参照

c - lwipを備えたWebサーバー(Cortex M3、Stellaris LM3S6965評価ボード)

単純なWebサーバーを作成しようとしているので、ブラウザーで検索してデバイスのIPを入力すると、Webページが表示されます。このwikiページを見つけました

手順に従いましたが、ビルド中にエラーが発生しました。

"C:\stellarisware\third_party\lwip-1.3.2\apps\httpserver_raw"httpd.cなどのファイルを取得するためのリンクされたフォルダが含まれています

追加しましhttpd_init()たが、ビルド中にこのエラーが発生します。

私がそのファイルを見ると、これはその中にあります:

これは私のdirがどのように見えるかです:

ここに画像の説明を入力してください

Webサーバーからのソースファイルは次のとおりです。ダウンロード

これが私のmain.cです。270行目でhttpd_init()を呼び出しました。ダウンロード