เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจ•เจฒเจพเจ‡เฉฐเจŸ-เจธเจฐเจตเจฐ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจฆเฉ‡ เจจเจพเจฒ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฒเจฟเจ–เจฃเจพ, เจญเจพเจ— 02

เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจ•เฉฐเจธเฉ‹เจฒ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจ•เจธเจŸเจฎ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจชเจฟเจค เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจšเฉฑเจฒ เจฐเจนเฉ€ เจฒเฉœเฉ€ เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ TFTP (เจŸเฉเจฐเฉ€เจตเฉ€เจ…เจฒ เจซเจพเจˆเจฒ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ) - เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจซเจพเจˆเจฒ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ เจ›เฉ‚เจนเจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡เฅค

เจชเจฟเจ›เจฒเฉ€ เจตเจพเจฐ เจฆเฉ€ เจคเจฐเฉเจนเจพเจ‚, เจ†เจ“ เจฅเจฟเจŠเจฐเฉ€ เจจเฉ‚เฉฐ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš เจตเฉ‡เจ–เฉ€เจ, เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ เจœเฉ‹ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจธเจฎเจพเจจ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธเจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ€เจเฅค เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเฉ‡ - เจ•เฉฑเจŸ เจฆเฉ‡ เจคเจนเจฟเจค

เจฎเฉˆเจ‚ เจธเฉฐเจฆเจฐเจญ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจพเจชเฉ€-เจชเฉ‡เจธเจŸ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เจพ, เจœเจฟเจธ เจฆเฉ‡ เจฒเจฟเฉฐเจ• เจฐเจตเจพเจ‡เจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉ‡เจ– เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจฒเฉฑเจญเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ, เจฎเฉˆเจ‚ เจธเจฟเจฐเจซ เจ‡เจน เจ•เจนเจพเจ‚เจ—เจพ เจ•เจฟ เจ‡เจธเจฆเฉ‡ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, TFTP FTP เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ€ เจ‡เฉฑเจ• เจธเจฐเจฒ เจชเจฐเจฟเจตเจฐเจคเจจ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจเจ•เจธเฉˆเจธ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจธเฉˆเจŸเจฟเฉฐเจ— เจนเฉˆ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฒเจˆ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจพเจกเฉ‡ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจธเจผเจพเจจเจฆเจพเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฟเจงเจพเจ‚เจคเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจธเฉฐเจŸเฉˆเจ•เจธ เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเฉเจนเจพ เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ† เจนเฉˆ - เจ‡เจน เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ‡ เจธเจฟเจงเจพเจ‚เจคเจพเจ‚ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฆเจพ, เจชเจฐ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ, IMHO, เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ FTP เจ…เจคเฉ‡ TFTP เจฆเฉ‡ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจชเจนเจฟเจฒเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆเฅค

เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจœเจฆเฉ‹เจ‚ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจฐเจตเจฐ เจฆเฉ‡ IP เจชเจคเฉ‡ เจ…เจคเฉ‡ เจชเฉ‹เจฐเจŸ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ 'เจคเฉ‡ เจ•เจธเจŸเจฎ TFTP เจ–เฉเฉฑเจฒเฉเจนเจพ เจนเฉˆ (เจธเจŸเฉˆเจ‚เจกเจฐเจก เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเจพเจฒ เจ…เจธเฉฐเจ—เจคเจคเจพ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจฎเฉˆเจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉ‹เจฐเจŸ เจšเฉเจฃเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจ›เฉฑเจกเจฃเจพ เจ‰เจšเจฟเจค เจธเจฎเจเจฟเจ†), เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจญเฉ‡เจœ เจธเจ•เจฆเจพ เจนเฉˆ - เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹ เจœเจพเจ‚ เจชเจพเจ“, เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจœเจพเจ‚ เจญเฉ‡เจœเจฃ เจฒเจˆเฅค เจธเจพเจฐเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจคเจฐเจ• เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฌเจพเจˆเจจเจฐเฉ€ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจญเฉ‡เจœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจฎเฉˆเจ‚ เจฐเจตเจพเจ‡เจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ 4 เจ•เจฒเจพเจธเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€:

  • TFTPC เจ•เจฒเจพเจ‡เฉฐเจŸ
  • TFTPS เจธเจฐเจตเจฐ
  • TFTPClientTester
  • TFTPS เจธเจฐเจตเจฐ เจŸเฉˆเจธเจŸเจฐ

เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เจฟ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ•เจฒเจพเจธเจพเจ‚ เจธเจฟเจฐเจซ เจฎเฉเฉฑเจ– เจฒเฉ‹เจ•เจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจ เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆ เจนเจจ, เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เจพ, เจชเจฐ เจ•เฉ‹เจก เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡เจ—เจพ; เจ‡เจธเจฆเจพ เจ‡เฉฑเจ• เจฒเจฟเฉฐเจ• เจฒเฉ‡เจ– เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจชเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ. เจนเฉเจฃ เจฎเฉˆเจ‚ เจฎเฉเฉฑเจ– เจ•เจฒเจพเจธเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจพเจ‚เจ—เจพเฅค

TFTPC เจ•เจฒเจพเจ‡เฉฐเจŸ

เจ‡เจธ เจ•เจฒเจพเจธ เจฆเจพ เจ•เฉฐเจฎ เจ‡เฉฑเจ• เจฐเจฟเจฎเฉ‹เจŸ เจธเจฐเจตเจฐ เจจเจพเจฒ เจ‡เจธเจฆเฉ‡ เจ†เจˆเจชเฉ€ เจ…เจคเฉ‡ เจชเฉ‹เจฐเจŸ เจจเฉฐเจฌเจฐ เจจเจพเจฒ เจœเฉเฉœเจจเจพ, เจ‡เจจเจชเฉเจŸ เจธเจŸเฉเจฐเฉ€เจฎ (เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ•เฉ€เจฌเฉ‹เจฐเจก) เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจชเฉœเฉเจนเจจเจพ, เจ‡เจธเจจเฉ‚เฉฐ เจชเจพเจฐเจธ เจ•เจฐเจจเจพ, เจ‡เจธเจจเฉ‚เฉฐ เจธเจฐเจตเจฐ เจคเฉ‡ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจเจพ เจ…เจคเฉ‡, เจ‡เจธ เจ—เฉฑเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจญเฉ‡เจœเจฃ เจœเจพเจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ, เจ‡เจธเจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจœเจพเจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจธเจฐเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเจจ เจฒเจˆ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจจเจชเฉเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจคเฉ‹เจ‚ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจจ เจฒเจˆ เจ•เฉ‹เจก เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจตเจฐเจคเฉ‡ เจ—เจ เจ•เจˆ เจ—เจฒเฉ‹เจฌเจฒ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจฒเฉ‡เจ– เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจชเฉ‚เจฐเฉ‡ เจชเจพเจ  เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจ—เฉฑเจฒ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจนเจตเจพเจฒเจพ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจคเจพเจ‚ เจœเฉ‹ เจฒเฉ‡เจ– เจจเฉ‚เฉฐ เจ“เจตเจฐเจฒเฉ‹เจก เจจเจพ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡.

 public void run(String ip, int port)
    {
        this.ip = ip;
        this.port = port;
        try {
            inicialization();
            Scanner keyboard = new Scanner(System.in);
            while (isRunning) {
                getAndParseInput(keyboard);
                sendCommand();
                selector();
                }
            }
        catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

เจ†เจ‰ เจ•เฉ‹เจก เจฆเฉ‡ เจ‡เจธ เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจ•เจนเฉ‡ เจ—เจ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ:

เจ‡เฉฑเจฅเฉ‡ เจซเจพเจˆเจฒ เจญเฉ‡เจœเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ - เจ‡เฉฑเจ• เจธเจ•เฉˆเจจเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจซเจพเจˆเจฒ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจเจฐเฉ‡ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเจธ เจจเฉ‚เฉฐ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ‡เฉฑเจ• เจ•เจฐเจ•เฉ‡ เจธเจพเจ•เจŸ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจ–เฉ‹เจฒเฉเจนเจฆเฉ‡ เจนเจพเจ‚ (เจธเจญ เจคเฉ‹เจ‚ เจธเจชเฉฑเจธเจผเจŸ เจนเฉฑเจฒ เจจเจนเฉ€เจ‚, เจชเจฐ เจ‡เจน เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจฐเจฟเจนเจพเจˆ เจฆเฉ€ เจ—เจพเจฐเฉฐเจŸเฉ€ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ), เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ เจธเจซเจฒ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

private  void put(String sourcePath, String destPath)
    {

        File src = new File(sourcePath);
        try {

            InputStream scanner = new FileInputStream(src);
            byte[] bytes = scanner.readAllBytes();
            for (byte b : bytes)
                sout.write(b);
            sout.close();
            inicialization();
            System.out.println("nDonen");
            }

        catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

เจ‡เจน เจ•เฉ‹เจก เจŸเฉเจ•เฉœเจพ เจธเจฐเจตเจฐ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจญ เจ•เฉเจ เจซเจฟเจฐ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจนเฉˆ, เจธเจฟเจฐเจซ เจ•เฉ‹เจก เจฆเจพ เจชเจนเจฟเจฒเจพ เจฌเจฒเจพเจ• เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฆเจพ เจนเฉˆ. เจ‡เจน เจธเจฎเจเจฃ เจฒเจˆ เจ•เจฟ เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจ•เจฟเฉฐเจจเฉ‡ เจฌเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจœเจพเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเฉ€ เจซเจพเจˆเจฒ เจฆเจพ เจญเจพเจฐ เจ•เจฟเฉฐเจจเจพ เจนเฉˆเฅค เจธเจฐเจตเจฐ 'เจคเฉ‡ เจซเจพเจˆเจฒ เจฆเจพ เจ†เจ•เจพเจฐ เจฒเฉฐเจฌเฉ‡ เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจตเจœเฉ‹เจ‚ เจฆเจฐเจธเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ‡เฉฑเจฅเฉ‡ 4 เจฌเจพเจˆเจŸ เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจœเฉ‹ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉฐเจ–เจฟเจ† เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‡เจน เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจœเจพเจตเจพ เจชเจนเฉเฉฐเจš เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจน SI เจฒเจˆ เจธเจฎเจพเจจ เจนเฉˆ, เจชเจฐ เจ‡เจน เจ‡เจธเจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ.

เจซเจฟเจฐ เจธเจญ เจ•เฉเจ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจนเฉˆ - เจ…เจธเฉ€เจ‚ เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจœเจพเจฃเฉ€ เจ—เจฟเจฃเจคเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจซเจฒเจคเจพ เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚.

   private void get(String sourcePath, String destPath){
        long sizeOfFile = 0;
        try {


            byte[] sizeBytes = new byte[Long.SIZE];
           for (int i =0; i< Long.SIZE/Byte.SIZE; i++)
           {
               sizeBytes[i] = (byte)sin.read();
               sizeOfFile*=256;
               sizeOfFile+=sizeBytes[i];
           }

           FileOutputStream writer = new FileOutputStream(new File(destPath));
           for (int i =0; i < sizeOfFile; i++)
           {
               writer.write(sin.read());
           }
           writer.close();
           System.out.println("nDONEn");
       }
       catch (Exception e){
            System.out.println(e.getMessage());
       }
    }

เจœเฉ‡เจ•เจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจตเจฟเฉฐเจกเฉ‹ เจตเจฟเฉฑเจš get เจœเจพเจ‚ put เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจ•เจฎเจพเจ‚เจก เจฆเจพเจ–เจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจคเจพเจ‚ showErrorMessage เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจ‡เจน เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เฉฐเจชเฉเฉฑเจŸ เจ—เจฒเจค เจธเฉ€เฅค เจฎเจพเจฎเฉ‚เจฒเฉ€ เจ•เจพเจฐเจจ, เจฎเฉˆเจ‚ เจ‡เจธเจฆเจพ เจนเจตเจพเจฒเจพ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจตเจพเจ‚เจ—เจพ. เจ‡เฉฐเจชเฉเฉฑเจŸ เจธเจŸเฉเจฐเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจตเฉฐเจกเจฃ เจฆเจพ เจ•เฉฐเจฎ เจ•เฉเจ เจนเฉ‹เจฐ เจฆเจฟเจฒเจšเจธเจช เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจธเจ•เฉˆเจจเจฐ เจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเจธ เจคเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจฆเฉ‹ เจธเจชเฉ‡เจธ เจฆเฉเจ†เจฐเจพ เจตเฉฑเจ– เจ•เฉ€เจคเฉ€ เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก, เจธเจฐเฉ‹เจค เจชเจคเจพ เจ…เจคเฉ‡ เจฎเฉฐเจœเจผเจฟเจฒ เจฆเจพ เจชเจคเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

    private void getAndParseInput(Scanner scanner)
    {
        try {

            input = scanner.nextLine().split(" ");
            typeOfCommand = input[0];
            sourcePath = input[1];
            destPath = input[2];
        }
        catch (Exception e) {
            System.out.println("Bad input");
        }
    }

เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจญเฉ‡เจœเจฃเจพ - เจธเจ•เฉˆเจจเจฐ เจคเฉ‹เจ‚ เจธเจพเจ•เจŸ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจ•เฉ€เจคเฉ€ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจญเฉ‡เจœเจฃ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ

    private void sendCommand()
    {
        try {

            for (String str : input) {
                for (char ch : str.toCharArray()) {
                    sout.write(ch);
                }
                sout.write(' ');
            }
            sout.write('n');
        }
        catch (Exception e) {
            System.out.print(e.getMessage());
        }
    }

เจ‡เฉฑเจ• เจšเฉ‹เจฃเจ•เจพเจฐ เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจนเฉˆ เจœเฉ‹ เจฆเจพเจ–เจฒ เจ•เฉ€เจคเฉ€ เจธเจคเจฐ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจนเจฐ เจšเฉ€เจœเจผ เจฌเจนเฉเจค เจธเฉเฉฐเจฆเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจฌเจฒเจพเจ• เจฆเฉ‡ เจฌเจพเจนเจฐ เจœเจผเจฌเจฐเจฆเจธเจคเฉ€ เจจเจฟเจ•เจพเจธ เจจเจพเจฒ เจตเจฐเจคเฉ€ เจ—เจˆ เจšเจพเจฒ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‡เจธเจฆเจพ เจฎเฉเฉฑเจ– เจ•เจพเจฐเจจ เจ•เฉเจ เจšเฉ€เจœเจผเจพเจ‚ เจฆเฉ€ เจœเจพเจตเจพ เจตเจฟเฉฑเจš เจ—เฉˆเจฐเจนเจพเจœเจผเจฐเฉ€ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ C# เจตเจฟเฉฑเจš เจกเฉˆเจฒเฉ€เจ—เฉ‡เจŸ, C++ เจคเฉ‹เจ‚ เจซเฉฐเจ•เจธเจผเจจ เจชเฉเจ†เจ‡เฉฐเจŸเจฐ, เจœเจพเจ‚ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจญเจฟเจ†เจจเจ• เจ…เจคเฉ‡ เจญเจฟเจ†เจจเจ• เจ—เฉ‹เจŸเฉ‹, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจจเฉ‚เฉฐ เจธเฉเฉฐเจฆเจฐเจคเจพ เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ. เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจธเจผเจพเจจเจฆเจพเจฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ เจนเฉˆ, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ†เจฒเฉ‹เจšเจจเจพ เจฆเจพ เจธเฉเจ†เจ—เจค เจ•เจฐเจฆเจพ เจนเจพเจ‚. เจ‡เจน เจฎเฉˆเจจเฉ‚เฉฐ เจœเจพเจชเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจธเจŸเฉเจฐเจฟเฉฐเจ—-เจกเฉˆเจฒเฉ€เจ—เฉ‡เจŸ เจกเจฟเจ•เจธเจผเจจเจฐเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจˆ เจกเฉˆเจฒเฉ€เจ—เฉ‡เจŸ เจจเจนเฉ€เจ‚ เจนเฉˆ...

    private void selector()
    {
        do{
            if (typeOfCommand.equals("get")){
                get(sourcePath, destPath);
                break;
            }
            if (typeOfCommand.equals("put")){
                put(sourcePath, destPath);
                break;
            }
            showErrorMessage();
        }
        while (false);
    }
}

TFTPS เจธเจฐเจตเจฐ

เจธเจฐเจตเจฐ เจฆเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจตเฉฑเจกเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡, เจธเจฟเจฐเจซ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจ•เฉ€เจฌเฉ‹เจฐเจก เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚, เจชเจฐ เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจ†เจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ•เฉเจ เจตเจฟเจงเฉ€เจ†เจ‚ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจ‡เจธ เจฒเจˆ เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจนเจตเจพเจฒเจพ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจตเจพเจ‚เจ—เจพ, เจฎเฉˆเจ‚ เจธเจฟเจฐเจซ เจ…เฉฐเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ›เฉ‚เจนเจพเจ‚เจ—เจพ.

เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจฐเจจ เจตเจฟเจงเฉ€ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ‡เฉฑเจ• เจชเฉ‹เจฐเจŸ เจจเฉ‚เฉฐ เจ‡เจจเจชเฉเจŸ เจตเจœเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเจฆเฉ€เจตเฉ€ เจฒเฉ‚เจช เจตเจฟเฉฑเจš เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆเฅค

    public void run(int port) {
            this.port = port;
            incialization();
            while (true) {
                getAndParseInput();
                selector();
            }
    }

เจชเฉเจŸ เจตเจฟเจงเฉ€, เจœเฉ‹ writeToFileFromSocket เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจฒเจชเฉ‡เจŸเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฐเจพเจˆเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจ–เฉ‹เจฒเฉเจนเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจธเจพเจฐเฉ‡ เจ‡เฉฐเจชเฉเฉฑเจŸ เจฌเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฆเฉ€ เจนเฉˆ, เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจฆเฉ‡ เจธเจซเจฒ เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจฒเจฟเจ–เจฃเจพ เจชเฉ‚เจฐเจพ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

    private  void put(String source, String dest){
            writeToFileFromSocket();
            System.out.print("nDonen");
    };
    private void writeToFileFromSocket()
    {
        try {
            FileOutputStream writer = new FileOutputStream(new File(destPath));
            byte[] bytes = sin.readAllBytes();
            for (byte b : bytes) {
                writer.write(b);
            }
            writer.close();
        }
        catch (Exception e){
            System.out.println(e.getMessage());
        }
    }

เจชเฉเจฐเจพเจชเจค เจตเจฟเจงเฉ€ เจธเจฐเจตเจฐ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจพเจˆเจก เจฆเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเจพ เจ†เจ•เจพเจฐ เจœเจพเจฃเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ, เจ‡เฉฑเจ• เจฒเฉฐเจฌเฉ‡ เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ 4 เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจเจฐเฉ‡ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฆเจพ เจนเจพเจ‚, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจพเจˆเจŸ-เจฌเจพเจˆ-เจฌเจพเจˆเจŸ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเจพ เจนเจพเจ‚เฅค เจธเจพเจ•เจŸ เจตเจฟเฉฑเจš, เจ…เจคเฉ‡ เจซเจฟเจฐ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฒเจพเจ‡เฉฐเจŸ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเฉฐเจฌเจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจœเฉ‹ เจซเจพเจˆเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ, เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจ‡เจจเจชเฉเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจคเฉ‹เจ‚ เจชเฉœเฉเจนเจฆเฉ‡ เจนเจจ.


 private  void get(String source, String dest){
        File sending = new File(source);
        try {
            FileInputStream readFromFile = new FileInputStream(sending);
            byte[] arr = readFromFile.readAllBytes();
            byte[] bytes = ByteBuffer.allocate(Long.SIZE / Byte.SIZE).putLong(sending.length()).array();
            for (int i = 0; i<Long.SIZE / Byte.SIZE; i++)
                sout.write(bytes[i]);
            sout.flush();
            for (byte b : arr)
                sout.write(b);
        }
        catch (Exception e){
            System.out.println(e.getMessage());
        }
    };

getAndParseInput เจตเจฟเจงเฉ€ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆ, เจธเจฟเจฐเจซ เจซเจฐเจ• เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เฉ€เจฌเฉ‹เจฐเจก เจฆเฉ€ เจฌเจœเจพเจ เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจชเฉœเฉเจนเจฆเจพ เจนเฉˆเฅค เจ•เฉ‹เจก เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจนเฉˆ, เจฌเจฟเจฒเจ•เฉเจฒ เจšเฉ‹เจฃเจ•เจพเจฐ เจฆเฉ€ เจคเจฐเฉเจนเจพเจ‚เฅค
เจ‡เจธ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ•เฉ‹เจก เจฆเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ, เจคเจฌเจพเจฆเจฒเจพ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉเฉœ-เจ•เจฌเจœเจผ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ - เจฆเฉเจฌเจพเจฐเจพ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฒเฉ€เจ• เจคเฉ‹เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆเฅค

    private void  incialization()
    {
        try {
            serverSocket = new ServerSocket(port);
            socket = serverSocket.accept();
            sin = socket.getInputStream();
            sout = socket.getOutputStream();
        }
        catch (Exception e) {
            System.out.print(e.getMessage());
        }
    }

เจธเฉฐเจ–เฉ‡เจช เจ•เจฐเจจ เจฒเจˆ:

เจ…เจธเฉ€เจ‚ เจนเฉเจฃเฉ‡ เจนเฉ€ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจกเฉ‡เจŸเจพ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ 'เจคเฉ‡ เจ†เจชเจฃเฉ€ เจ–เฉเจฆ เจฆเฉ€ เจชเจฐเจฟเจตเจฐเจคเจจ เจฒเจฟเจ–เฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจฎเฉˆเจ‚ เจ‡เฉฑเจฅเฉ‡ เจ…เจฎเจฐเฉ€เจ•เจพ เจฆเฉ€ เจ–เฉ‹เจœ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจจเจตเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจจเจนเฉ€เจ‚ เจฒเจฟเจ–เฉ€เจ†เจ‚, เจชเจฐ เจนเฉˆเจฌเจฐเฉ‡ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจธเจฎเจพเจจ เจฒเฉ‡เจ– เจจเจนเฉ€เจ‚ เจธเจจ, เจ…เจคเฉ‡ cmd เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจฒเฉœเฉ€ เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจ›เฉ‚เจนเจฃเจพ เจ…เจธเฉฐเจญเจต เจธเฉ€เฅค

เจฒเจฟเฉฐเจ•:

เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€
TFTP เจฌเจพเจฐเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš
เจ‰เจนเฉ€ เจ—เฉฑเจฒ เจนเฉˆ, เจชเจฐ เจฐเฉ‚เจธเฉ€ เจตเจฟเฉฑเจš

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹