0

C++ を使用して TFTP クライアントを作成しています。「オクテット」モードを使用して、読み取り要求をデフォルトの TFTP クライアント (tftpd32) に送信できました。問題は、通常の TFTP 応答で ACK を返信できないことです。次のエラーが表示されます。

Connection received from 127.0.0.1 on port 51401 [27/07 23:03:15.612]
Read request for file <test.txt>. Mode octet [27/07 23:03:15.612]
Using local port 51402 [27/07 23:03:15.612]
Connection received from 127.0.0.1 on port 51401 [27/07 23:03:18.624]
Unexpected request 4 from peer [27/07 23:03:18.624]
Returning EBADOP to Peer [27/07 23:03:18.624]

同じ方法で RRQ を送信できるのに ACK を送信できないのはなぜですか?

4

1 に答える 1

0

おそらく、よく適合していない ACK パケットですか? ACK オペコードを含むリクエストを送信しているようです…</p>

RFC 1350 からの ACK パケットの形式:

                 2 bytes     2 bytes
                 ---------------------
                | Opcode |   Block #  |
                 ---------------------

オペコード=4

于 2012-08-25T09:46:22.487 に答える