FTP_PN - designed and created from the mind of K5HUM Copyright 2008 - All Rights Reserved G. Mike Raymond 02/26/07 FTP_PN Maintenance Release Version 2.1.1 FTP_PN EXPLAINED: This standalone PopNote Extension utility (FTP_PN.EXE) facilitates the ability of PopNote to allow the exchange and or transfer of files (including binary types) between users. In addition, FTP_PN is designed such that if a picture file is sent with either the .JPG or .GIF extension, it will automatically open the PopNote VIEW utility (if available) at the destination site and display the transmitted picture. (read "VIEW_HELP.TXT") for additional details - limitations). If a WAVE file is uploaded it will be played at the destination. FTP_PN TECHNICAL JARGON: FTP_PN is my own custom version of the standard FTP protocol as outlined in RFC354 (http://rfc.net/rfc354.html). The primary differences being in the use of TCP Port 54540 to send and receive files other than the international standard of Port 21. In addition, FTP_PN uses it own proprietary handshakes to negotiate connections and deliver packet traffic. I elected to use port 54540 to overcome the limitation that most ISPs impose, wherein they block inbound traffic on Port 21 (to prevent non commercial users from running servers). NOTE: TCP port 54540 must have unfettered access through your system as does PopNote's UDP ports 54538 and 54539. FTP_PN OPERATION GUIDE: When launched from PopNote, FTP_PN will automatically go into RECEIVE mode (and likely trigger your firewall). It will be necessary to approve FTP_PN for Internet access as both a Client and a Server. If FTP_PN is started by an independent shortcut, it will run in neutral mode. It will then be necessary to either click the "Recv" button (if its your intention to receive a file) or click the "Send" button to start the upload process. The "Recv" button behaves as an "on/off" receive toggle. Before starting to Upload please pick the correct destination (remotes) address, either as an IP or FQDN. Read the following: FTP_PN uses the same address file (PopNoteA.CFG) as does PopNote. A combobox picklist allows quick selection of the remote's IP or FQDN address. If the PopNoteA.cfg file is not found a sample file, properly formatted, with a usable LOCALHOST address (127.0.0.1) will be created. For those using FTP_PN independent of PopNote, you will need to modify the IP/FQDN address file "PopNoteA.CFG". This is a simple standard text (ascii) file, carriage return - line feed delimited (such as those created with Windows own NOTEPAD.EXE utility). Each line should be exactly 30 characters in length with the first 15 characters composing the IP. Then, the remaining 15 characters can be any address identifier you choose. A FQDN takes up the entire of 30 characters and must end with a CRLF pair. If the FQDN is less than 30 characters it must be padded out to 30 using spaces (ascii 32's). Likewise, IP's and ID's that are less than 15 charaxters must be padded out to 15. Place this address file in the same folder with FTP_PN.EXE and the utility will automatically read and display it in FTP_PN's address pick list box. Since each line is 30 characters, terminated with a CRLF pair, an address file with say 4 addresses will be 128 bytes (32x4) in size. FTP_PN uses C:\DOWNLOAD as its default receiving folder. This folder is automatically created if it does not exist. This download folder destination can be dynamically changed during runtime in the download folder edit box by either overtyping or clicking the "Dpath" button. FTP_PN allows file drag and drop operations that automatically trigger "sending" the dropped file. It is therefore imperative that the correct destination address be chosen beforehand and that the destination is made aware a file will be forthcoming. The destination must have or put their copy of FTP_PN in receive mode. In addition to drag and drop, FTP_PN also offers a file Browse mode to manually select a file to transmit. Browse select is automatically started by clicking the Send button. FTP_PN can run as a stand alone file transfer client server. FTP_PN can be launched with a standard Windows Shortcut and can also accept a command tail parameter of "/run" to start running in listening (or ready to receive) mode. When launched from PopNote, FTP_PN will automatically be started in receive or listening mode. TESTING FTP_PN LOCALLY: To locally test FTP_PN on your machine, 1) have the local host address (127.0.0.1) showing in the address window. 2) run two copies of FTP_PN. 3) Click the "Recv" button on one copy. 4) Set your firewall to approve FTP_PN as a client (passing TCP port 54540) for incoming TCP/IP traffic. 5) Click the "Send" button on the second copy of FTP_PN, select a file to send to C:\DOWNLOAD from the file browser window and click "Ok". Again your firewall may require permission for FTP_PN to act as a Server. If you selected a picture file, (either .JPG or .GIF), and have the companion VIEW.EXE utility in the same folder with FTP_PN, the picture will display after a successful transfer. If a WAVE file is uploaded it will be played at the destination. The most recent releases of FTP_PN (1.17 and later) have: A BPS counter. Thats BYTES per second. If you want Bits per Second, just multiply the reading by approximately 10. This is a dynamic averaging of throughput. In addition, a time elapse counter will tick off the seconds since the transfer began. To avoid cockpit errors, "gray out" of various buttons, windows etc will occur depending on what mode you are using at the moment. Once a connection with a remote is established in Send mode, you can continue to send additional files with the completion of each transfer. If you send a file that already exist in the destinations default receiving folder, the new upload will truncate or overwrite the original file. BUG REPORTS: Every effort is made to insure each release of a PopNote Extension has passed muster with my proof of performance testing. However, as the complexity of single author development projects increase, it is practically impossible to guaranteed that some bugs will not slip through to a beta or public release. In that regard it is my pledge to make bug fixes and or maintenance releases available as soon as possible. However, in the "for whatever its worth" department, every release of my programs are compiled and tested for proof of performance on "my" 24/7 server. Any information relative to new releases will be published in pnbnbug.txt which is available on the web 24/7 vi "Whats New" in the PopNotes Help Menu. -[30]-