# Send file ([File] menu)

Sends a file to the host.

## "Send file" dialog box (to input the file name)

File Name
  送信するファイルのファイル名を入力または選択してください。 すでに存在するファイルでなければなりません。
  ダイアログにファイルをドロップすることでファイル名を入力することもできます。
Tera Term 4 と同じ方法で送信
  Tera Term 4 と同じ方法(チェックを入れたとき)
    ファイルから読み込みながら送信します。
    テキストファイルはACPとして読み込み、エンコードは自動判定されません。
  チェックを外した時
    ファイルをメモリに読み込んでから送信します。
    テキストファイルのエンコードは自動判定します。
Binary
  If you select this option, received characters are sent without any modifications. Otherwise, new-line codes are converted and control characters (except TAB, LF and CR) are stripped out.
delay type
  no delay
    ディレイ処理なし
  per charactor
    1文字毎にディレイ処理を行う
  per line
    1行毎にディレイ処理を行う
  per sendsize
    指定送信文字毎にディレイ処理を行う
send size
  送信サイズ(delay typeが per sendsizeのとき有効)
delay time(ms)
  ディレイ時間

### 送信サイズ

Tera Termの通信相手の受信バッファサイズと処理速度を考慮することで、 指定した送信サイズ毎にディレイを入れることで、 1キャラクタ毎、1行毎にディレイを入れるより効率的にファイル送信を行うことができます。

送信データのドロップは次のところで発生することが考えられます。

                         s1            s2                 s3                s4                         program
    Tera Term ---> Tera Term内  ---> Windows ---> (sshd,telnet,pipe) ---> OS,driver      ---> 擬似端末(pty) + シェル,その他コマンド
                   送信バッファ                   (serial          )      UARTチップなど      組込プログラム等
                   受信バッファ <---         <---                    <---                <---
                         r1            r2                 r3                r4

s1 Tera Term内の送信バッファ
  可能性は低いでしょう。
  送信バッファの空きサイズを見ながらデータを詰めていきます。
s2 Windows
  可能性は低いでしょう。
  使用するハードウェア、ドライバのバージョンによってはBSoDを含めて様々な不具合が発生することがあります。
  Tera Termのシリアルポート設定ではドライバの詳細を見ることができます。
s3 送信路
  serialの場合エラー時の再送処理はありません。データにエラーが発生するとドロップします。
  TCP/IP, pipeの場合は可能性は低いと思われます。
s4 OS,UARTチップ
  PC(CPU)の処理能力を超えたデータの受信(programがOSやチップから受信データを引き取らない場合)等で、 OS(ドライバ)、UARTチップの受信バッファがオーバーフローしてドロップします。
  フロー制御等はOS(ドライバ)が行うかprogramが行うかは実装によります。
  TCP/IPではフロー制御,エラー時の再送が行われ、多くの場合OS内のプロトコルスタックがこれらの処理を行います。
  シリアルではフロー制御の有無はユーザーが決めることができ、オーバーフローなどエラー時の再送は行われません。
program
  プログラム内の受信バッファオーバーフローなどでドロップします。
  仮想端末(pty)ではバッファが溢れそうになると0x07(BEL)が送られ、Tera Termでベルがなります。

主なUARTチップ、ドライバの受信バッファサイズ

          8250 UART                 受信バッファなし
          16550 UART                16 Byte FIFO
          FT232R                    256 Byte receive buffer
          TTY drive(Linux 2.6.26)   4KB  (TTSSHによるSSHの設計と実装/疑似端末のしくみ)

送信データのエコーが返ってこない場合は受信データがどこかでドロップしていることも考えられます。

## "Send file" dialog box (displayed while sending)

Close
  The Close button quits sending.
Pause/Start
  The Pause button pauses sending. The Start button restarts sending. These buttons function as toggles.