0

それはおそらく他の質問にも関連しています。現在利用可能なほとんどのTFTPクライアントで動作するC(オクテットモードのみ)で単純なTFTPサーバーを構築する必要があります(サーバーを実装するだけで済みます)。

opcode   //2 byte
filename // string (unknown size)
0        // 1 byte
mode     // string (unknows size, max 9 chars considering 'netascii')
0        // 1 byte

しかし、問題があります。RRQ/ WRQパケットには、不明な長さのフィールド「ファイル名」(および「モード」)があります。サーバーは汎用である必要があるため、このオプションを実装するにはどうすればよいですか?途方もなく大きなバッファを作成し、recvfrom()が0を返すまで待ち​​ますか?

ありがとう!

4

1 に答える 1

0

バッファをイーサネットパケットのペイロードサイズよりも大きくしないようにします...TFTPを使用すると、recvfromはそれよりも大きいバッファを返しません...

于 2012-12-13T14:37:07.043 に答える