問題タブ [tftp]
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.
java - エラーが発生しました - TFTP サーバーが起動しませんでした (HTTPProvisioning からトリガーされます)
tr069監視システムを実行していますが、このエラーが発生します。私はJavaの専門家ではないので、誰かがこのエラーの意味を提案/アドバイスできます. エラーが多すぎて、根本的な原因がわかりません
以下は、この tftp サーバーの Java ドキュメントへのリンクです。
https://github.com/freeacs/spp/blob/master/src/com/owera/xaps/spp/TFTPServer.java
https://github.com/freeacs/spp/blob/master/src/com/owera/xaps/spp/HTTPProvisioning.java
私はすでに freeacs フォーラムに質問していますが、誰も答えていません。
c - TFTP サーバーが DATA パケットを送信していない
クライアントからの読み取り要求 (RRQ) のみを処理する単純な tftp サーバーを作成しました。問題は、サーバーがクライアントに DATA パケットを送信していないように見えることです。送信されたバイトの長さをデータ パケット サイズと照合して、サーバーが DATA パケットを送信していないことを確認しました。
注: Linux に付属する標準の tftp クライアントを使用します。
これが私がこれまでに書いたコードです...
前もって感謝します :)
c - マルチスレッド TFTP サーバー - pthreads に関する問題
読み取り要求 (RRQ) のみを処理する単純な tftp サーバーを作成しました。サーバーのマルチスレッド バージョンの作成を開始するまで、すべてが正常に機能していました。アプリケーションでは、メイン スレッドで要求を受け取るだけで、その要求をパケット分析を行う新しいスレッドに転送します。したがって、ソケット、受信したパケット、およびsockaddr_in
クライアント情報を含む構造体をスレッドに転送する必要があります。そうは言っても、これらすべてを保持して pthread に転送する構造体を作成しました。
1 つはメインで、もう 1 つは接続ハンドラで、2 つの同一のエラー メッセージが表示されます。問題は、構造体でこれらの変数を参照し、スレッドでそれらを取得することにあるようです。問題は次のステートメントにあるようです: in connection_handler(): buffer = cthread->buffer; そして main(): clientT.buffer = buffer;
これまでに書いたコードは次のとおりです...
前もって感謝します :)
c - TFTP サーバー - スレッド バージョンの問題
読み取り要求 (RRQ) のみを処理する単純な tftp サーバーを作成しました。サーバーのマルチスレッド バージョンの作成を開始するまで、すべてが正常に機能していました。アプリケーションでは、メイン スレッドで要求を受け取るだけで、その要求をパケット分析を行う新しいスレッドに転送します。したがって、ソケット、受信したパケット、およびクライアント情報を含む sockaddr_in 構造体をスレッドに転送する必要があります。そうは言っても、これらすべてを保持して pthread に転送する構造体を作成しました。
clientThread
問題は構造体の初期化部分と転送部分にあると思われます。内部の処理の正しさには自信がありますのでconnection_handler
。
注: Linux に付属の tftp クライアントを使用してテストできます。
これまでに書いたコードです(スレッドバージョン)。フラグでコンパイルしてください-pthread
...
非スレッドバージョンのコードは次のとおりです...
前もって感謝します :)
c - TFTP でのタイムアウトと再送信に関する問題
読み取り要求 (RRQ) のみを処理する単純な TFTP サーバーを作成しましたが、正常に動作しています。5 秒以内に ACK が受信されない場合、サーバーは現在のデータ パケットを再送信することになっています。サーバーは、あきらめる前にパケットを 3 回再送信する必要もあります。サーバーがデータパケットを再送信するかどうかを確認するために、送信セッションの途中でクライアントを一時停止しようとしましたが、送信されませんでした。while
問題は、サーバーがループを継続しないことです。ループをエスケープするかどうかをテストしようとしましたが、そうではありませんでした。ループをもう一度繰り返さない理由が本当にわかりません。
これが私がこれまでに書いたコードです...
注: Linux に付属している標準の TFTP クライアントを使用して、サーバーをテストできます。
前もって感謝します :)
linux - Linux uboot tftp - serverip が常にルーターの IP アドレスにリセットされる
セットアップ: ルーターに接続されたスイッチに i.mx53 SOM が接続されています。メインの Windows コンピュータもスイッチに接続されています。Windows コンピューターは VMWare Ubuntu 12.04 を実行しており、そこで i.mx53 用のコードを開発しています。
問題: uboot を tftp 経由で起動できないようです。tftp サーバーは Ubuntu OS で実行されており、正常に動作しています。ファイルの送受信をテストしました (良い)。ただし、SOM の serverip= を Ubuntu コンピューターの IP アドレス (カーネル/rootfs が保存されている場所) に設定するたびに、serverip がルーターの IP アドレスに切り替わり、接続されません。
linux - kill コマンドの後でも、LINUX プロセスは再び最大数千のプロセスをフォークしています
ボックスの 1 つで、ときどき奇妙な問題に遭遇します。in.tftpd プロセスは、最大数千のプロセスをフォークし、サーバーをほとんど応答しない状態にします。
tftpデーモンを制限するためにさまざまなアプローチを試みましたが、役に立ちませんでした..
私を最も困惑させているのは、 ulimit -u 設定にも違反しているように見えることです。
initscript から in.tftpd を開始しています (したがって、xinetd はありません)。開始する前に、ulimit -n 50 が実行されます。
マスター プロセスの制限が正しく設定されていることがわかります。
grep processes /proc/XXX/limits: 最大プロセス数 50 50 プロセス
しかし、数日前に再び問題が発生しました。top の記録によると、何千もの in.tftpd プロセスがフォークされました..
私が間違っている可能性があることについて何か考えはありますか?
また、cgroups を使用してメモリを制限しようとしましたが、2MB の制限があっても、必要以上に多くのプロセスが生成される可能性があり、1MB では少なすぎます... cgroups を使用してプロセス数を制限することは可能ですか? それでもulimitで十分だと思いますが、ここで何が間違っていますか?
**プロセスが増えたり減ったりしていますが、根本的な原因は何でしょうか? :-|
事前に手がかりをありがとう、私は本当に必死になっています...
スクリーンショットを見つけてください:
https://www.dropbox.com/s/mwfgoe5k11ghc7z/1.png?dl=0 https://www.dropbox.com/s/62ksc3lefnpywjm/2.png?dl=0