E – K e r m I t

Original: http://kermitproject.org/ek.html

Screenshot 2016-01-21 18:29

Kompaktowy, szybki, solidny, przenośny Kermit protokół transferu plików do osadzania

Wersja: 1.7
Data: 06 czerwca 2011
Ta strona aktualizacja: Sun 27 grudnia 14:26:41 2015

POBIERANIE
Open Source Ogłoszenie: Efektywna 30 marca 2011 w wersji 1.6, E-Kermit jest zwolniony “jak jest” na mocy zrewidowanego 3-Clause licencji BSD License.

Zawartość

  1.     Program sterujący
  2.     PRZESYŁANIA PLIKÓW
  3.     KOD ŻRÓDŁOWY
  4.     Wersja UNIX
  5.     Porting na nową platformę
  6.     Debugowania
  7.     Historia zmian
  8.     POBIERANIE

EK (Wbudowany Kermit, e-Kermit) jest implementacją protokołu transferu plików Kermit napisany w ANSI C i przeznaczone do montowania urządzeń lub oprogramowania, wykorzystanie w aplikacjach czasu rzeczywistego, lub do budowy bibliotek DLL i bibliotek. EKSW jest nowa wersja e-Kermit, która zawiera prawdziwe transportu pakietów okna przesuwne. EK i EKSW należy pogodzić z powrotem w jedną bazę kodu, ale tak daleko, że nie stało.

Jakie e-Kermit Czy
EK wykonuje tylko dwie funkcje: wysyłanie i odbieranie plików plików. Jest to kompaktowy, przenośny i pełni wklęsłego. Na SPARC (RISC), kermit.o jest o 25K. Na Intel (CISC) to około 15 tys. Poprzez zmniejszenie wielkości buforów i wyeliminowanie opcjonalne lub niechciane funkcje, mniejsze rozmiary można osiągnąć.

Jakie e-Kermit nie robi
EK nie obejmuje funkcje klient / serwer; język programowania polecenia lub skryptu; zestawu znaków konwersji; szyfrowanie transportu; lub innej formy komunikacji lub pliku wejścia / wyjścia. To nie ma wybierania modemów, to nie ma połączenia, to nie posiada wbudowany stos TCP / IP lub interfejs do jednego zewnętrznego. Jeśli potrzebujesz tych funkcji, należy użyć pełnego programu Kermit, takich jak C-Kermit lub Kermit 95.

EK nie jest sama aplikacja, to podprogram nazywać z aplikacji głównej. Jest to przydatne tylko dla deweloperów, którzy muszą dostarczać aplikacja nadrzędna lub dzwoniąc środowiska oraz I / O podprogramów plik i komunikację. Środowisko dzwoniąc musi z kolei zrobić i skonfigurować połączenie komunikacyjne, jeśli jest to wymagane i nie jest już otwarte. Środowisko próbka dzwoni i popieram / O są dla Uniksa.

Klienci dostosowany EK do różnych środowisk i platform, w tym Palm Pilot, różnego rodzaju sprzętu technika (np diagnostyki i konserwacji wież telefonii komórkowej), a czasem przyczyniają się one ich adaptacji lub I / O rutyny, i możemy udostępnić je na ściśle jak jest podstawą. Nie jesteśmy w stanie wspierać lub utrzymywać kod klienta przyczyniło; w ten sposób (na przykład), jeśli nowa wersja EK jest zwolniony, przyczynił na klienta moduły niekoniecznie są aktualizowane. Kod klienta przyczyniło obejmuje:

  •     Microsoft Windows 9x / ME / NT / 2000 / XP / Vista / 7 portu szeregowego, a plik I / O dla EK 1.3 i nowszych.
  •     Wind River VxWorks dla EK 1.1.
  •     EK 1.2 w języku Java.


EK zawiera następujące funkcje Kermit Protocol:

  •     Długie pakiety
  •     Przesuwne okna z odzyskiem błędu Go-Back-to-N (prawda selektywna powtórzyć w EKSW).
  •     Ilość kompresji Powtórz
  •     Kontrola znaków poprzedzając i unprefixing
  •     8th-bitowy prefiks (do przesyłania danych 8-bitowych na 7-bitowych linków) (= parzystości)
  •     Pakiety atrybutów (typ, rozmiar i data)
  •     Wysyłanie i odbieranie jednego lub wielu plików.
  •     Automatyczne tekst per-pliku / przełączanie trybu binarnego.
  •     Wszystkie rodzaje wyboru trzy blokowe (suma kontrolna 6- i 12-bitowy, 16-bitowy CRC).
  •     Raporty o stanie (stan protokołu, nazwa pliku, rozmiar, datownika, bajty do tej pory).
  •     Przejazd odwołania przez którąkolwiek ze stron.


Kermit następujące funkcje protokołu nie są realizowane:

  •     Przesuwne okna z selektywnej retransmisji (z wyjątkiem EKSW)
  •     Zestawy znaków
  •     Blokowanie zmian
  •     Klient / serwer

Limity czasu byłoby obowiązkiem programu Kermit na drugim końcu połączenia lub, w razie potrzeby, w samym e-Kermit, rutynowe pakiet czytania zależne od platformy, które można by napisać.

Począwszy od wersji 1.5, E-Kermit obejmuje konstrukcje preprocesora aby wykluczyć różne funkcje, takie jak długie pakiety, okien przesuwnych i wyższego rzędu kontroli bloku do osiągnięcia możliwie najmniejsze zużycie pamięci, a także może być wbudowany w odbiorcze konfiguracji ,


Program sterujący
Screenshot 2016-01-21 18:34

EK przeznaczony jest do pracy w środowisku wielozadaniowym spółdzielczego nie wymaga jednak takiego otoczenia. Program sterujący zajmuje się planowaniem. Oto, co program sterujący musi (i / lub może) zrobić:

  •     Jeśli jest to pożądane, otwarcia urządzenia komunikacyjnego, jeśli takie istnieją.
  •     Jeśli to konieczne, umieścić urządzenia komunikacyjnego, jeśli w ogóle, w trybie “pakietów”.
  •     Zainicjować struct Kermit z żądanych parametrów pracy.
  •     Zadzwoń Kermit (K_INIT, …), aby Kermit zainicjować się.
  •     Jeśli wysyłanie plików, zadzwoń Kermit (K_SEND), aby rozpocząć transfer.


(Gdy E-Kermit jest odbieranie plików, to czeka biernie na pierwszego pakietu od nadawcy plików, w ten sposób, że po prostu wchodzi w pętlę pakietów.) W pętli pakietów, E-Kermit:

  •     Pobiera bufor i czyta pakiet przychodzący do niego.
  •     Sprawdza przerwy użytkownika.
  •     Zwraca kermit (K_RUN, …), aby zrobić kolejny krok w protokole.
  •     Czy co tam jeszcze chce (np uruchamia inne zadania).
  •     Kończy lub kontynuuje pętlę na podstawie Kermit () kodu powrotu.


Za każdym razem, program sterujący wywołuje funkcję Kermit (), to daje mu uprawnienia do obsługi jednego pakietu; więc jeden pakiet = jeden kawałek czasu. Jeśli program sterujący ma nic innego do zrobienia, po prostu przetwarza pakiety w sposób ciągły, jak zwykły programu Kermit. Podczas gdy w pętli transferu danych, co Kermit () wywołanie zwraca struct zawierający:

  •     Obecny stan protokołu;
  •     Obecna nazwa pliku;
  •     Rozmiar pliku, jeśli jest znany, lub -1;
  •     Znacznik czasu pliku, jeśli jest znana;
  •     Liczba bajtów przeniesiony do tej pory.


Po zakończeniu programu sterującego:

  •     Przywraca i (w razie potrzeby) zamyka urządzenie komunikacyjne.

Kody funkcji, że program sterujący może zadzwonić Kermit () o to:

    K_INIT – Inicjalizacja struktury danych.

    K_SEND – (tylko wysyłanie) – inicjowanie wysłania.

    K_RUN – Uruchom protokół.

    K_STATUS – Powrót raport stanu w struktury k_response.

    K_QUIT – Przestań natychmiast i po cichu.

    K_ERROR – Wyślij paczkę błędów, potem wychodzi.


Kody zwracane z funkcji kermit () są:

    X_OK – OK, protokół aktywne.

    X_DONE – OK, protokół kompletne.

    X_ERROR – Błąd krytyczny.

    X_STATUS – Wracając stanu w odpowiedzi na K_STATUS.

( W rzeczywistości stan jest wrócił z każdej rozmowy) Kody stanu protokołu są:

    -1 – Błąd krytyczny
0 – Odbiornik (protokół nie działa)
1 – Odbiornik czeka na pakiet S
2 – Odbiornik czeka na F lub pakietu B
3 – Odbiornik czeka na A lub pakietu D
4 – Odbiornik czeka na D lub pakietu Z
10 – Sender (protokół nie działa)
11 – Sender pakiet wysyłany S (start)
12 – Sender wysłany pakiet F (nazwa pliku)
13 – nadawca wysłał paczkę (atrybuty)
14 – Sender wysłany pakiet D (dane)
15 – Z nadawca wysłał pakiet (EOF)
16 – Sender pakiet wysyłany B (EOT)

 


PRZESYŁANIA PLIKÓW

Screenshot 2016-01-21 18:38
Ponieważ EK przeznaczony jest głównie do montowania, nie korzysta z transmisji strumieniowej lub (z wyjątkiem EKSW) prawdziwe okna przesuwne (choć wiele z kodem okien przesuwnych jest tam). To z następujących powodów:

  •     Korzystanie z regularną protokołu ACK / NAK pozwala programu sterującego odzyskać kontrolę po każdym pakiecie. Pozwala to wielozadaniowe, pakowane graficzną przesyłania plików, cokolwiek. Na żywo lub okna przesuwne może umieścić program sterujący z rynku przez długi okres czasu.
  •     Na żywo lub prawdziwe okna przesuwane może sprawić, że interfejs pomiędzy programu kontroli i Kermit () modułu znacznie bardziej skomplikowane, w rzeczywistości, będzie naciskać wiele szczegółów protokołu w przestrzeń programu sterującego, gdzie one nie należą.
  •     Na żywo może być używany tylko na niezawodne połączenia (takie jak TCP / IP), ale z wbudowanych urządzeń komunikacji zazwyczaj używają portów szeregowych.


Brak prawdziwych przesuwnymi oknami w EK jest kompensowany poprzez EK udawać, wspierać ich tak naprawdę nie robić. To pozwala jej wysłania partnera do “strumienia” pakietów zamiast czekać na ACK po każdej z nich, o ile nie jest to błąd. Jeśli wystąpi błąd, strategia odzyskiwania jest “powrót do n” (a może w niektórych przypadkach “błąd out”), a nie “selektywnej powtórzyć”. EKSW, osobny program, który nie został zintegrowany z EK (ale powinny być), obsługuje prawdziwe przesuwane okna z selektywnej powtórzenie; Oznacza to tylko tych pakietów, które rzeczywiście zostały retransmisja musi być.

W każdym razie, od EK jest przeznaczony głównie do wbudowania, przewiduje się, że opóźnienia w obie strony nie będzie to duży czynnik; Połączenia będą na ogół lokalne, krótkie, stosunkowo szybko, a jeśli połączenie jest skutecznie kontrolowany przepływ, wolne od błędów. W przypadku sterowania skuteczny przepływ jest ograniczony, szybkość i / lub pakiet długość i / lub rozmiar okna może być ustawione w połączeniu z wartościami, które maksymalizuje wydajność i minimalizuje utratę danych.


KOD ŻRÓDŁOWY
Screenshot 2016-01-21 18:39

Pliki źródłowe są:

platform.h
Plik nagłówka wszelkich potrzebnych dyrektywami #INCLUDE specyficzne dla platformy lub definicji. Konieczne, nawet jeśli jest pusty, ponieważ kermit.c obejmuje go.
kermit.h
Plik nagłówka dla wszystkich modułów. Definicja k_data i k_response strukturach.

kermit.c
Jest to silnik protokół Kermit. To jest napędzany wyłącznie przez jego danych połączeń. Wszystkie informacje stanu są zapisywane w strukturze danych Kermit, który jest przekazywany przez odwołanie od głównego modułu, a wśród wszystkich funkcji w module kermit iz powrotem do modułu głównego; dlatego powinno być możliwe, że ten sam moduł do przesyłania wielu plików jednocześnie w różnych połączeniach. Co więcej, nie ma żadnych odniesień biblioteki w module kermit, w ogóle, nawet stdio (z wyjątkiem, gdy debugowanie jest włączone), a nie plików / usr / include / * nagłówków są wliczone w cenę. Zasady kermit.c:

  •         Brak zmienne globalne (z wyjątkiem do debugowania) lub buforów.
  •         Nie inicjalizacji tablic przez kompilator.
  •         Tak dla bezpieczeństwa, bez inicjowania automatycznych skalary albo.
  •         Brak biblioteki lub systemu połączeń, nie #include <…>.
  •         Wszystkie komunikaty I / O jest wykonywane przez funkcje określonych w odrębnych modułów.


Pojedynczy punkt wejścia dla modułu kermit.c jest funkcja Kermit ():

int kermit(struct k_data * k, struct k_response * r)

Struktura k zawiera wszystkie parametry pracy, zmienne i informacji o stanie buforów; R struktura utrzymuje rozmówcę, o aktualnym stanie protokołu i złożyć informacje o pliku, a postęp transferu (bajtów do tej pory).

main.c
Przykładowy program kontroli. W środowisko testowe Unix, to tylko tradycyjna main (), która czyta argumenty wiersza polecenia, inicjuje protokół, a następnie wywołuje moduł protokołu w stanie napędzane pętli, aż jego praca jest wykonywana, a następnie czyści. W osadzonym środowiska, te funkcje nie są włączone do programu sterującego.

unixio.c
I / O funkcje dla systemu Unix. Zastąpić swój moduł, który implementuje te funkcje w środowisku docelowym i zmodyfikować procedury gromadzenia, aby połączyć się z nim. Punkty wejścia i konwencje telefoniczne opisane poniżej.


Wersja UNIX
Screenshot 2016-01-21 18:39

Rozwój EK odbywa się na konwencjonalnej platformie Unix, takich jak Solaris, HP-UX lub Linux, w którym EK jest zbudowany jako zdalnego trybu Kermit programu transferu plików, podobnie jak G-Kermit i przetestowane przed pulpicie Kermit takie jako K95 lub C-Kermit. UWAGA: Wersja Unix pracuje nad stdin / stdout; W “linia” jest uwarunkowane w najgłupszy możliwy sposób (system (“stty …”)). To daje różne rezultaty; na przykład pliki do pobrania z EK na Solaris może pracować na 17Kcps, natomiast pliki do pobrania z Linuksa na tej samej sieci na tym samym komputerze może pracować na 1700Kcps. To nie jest warto martwić, ponieważ EK nie jest przeznaczone do użytku produkcyjnego na Unix, która już G-Kermit i C-Kermit do produkcji.

Unix makefile ma następujące cele (łatwo dodać więcej):

gcc:   Build with gcc (default).
cc:    Build with cc.
hp:    Build for HP-UX.
gccnd: Build with gcc, no debugging.
gprof: Build with gcc, include profiling.
clean: Remove object and core files.


Makefile tworzy wykonywalny Unix nazwie “ek” (wbudowany Kermit). Próbka main () rutynowe zapewnia prosty interfejs wiersza poleceń:

 

$ ./ek -h
Usage: ./ek options
Options:
 -r           Receive files
 -s files     Send files
 -p [neoms]   Parity: none, even, odd, mark, space
 -b [123]     Block check type: 1, 2, or 3 (default = 3)
 -k           Keep incompletely received files
 -B           Force binary mode
 -T           Force text mode
 -R           Remote mode (vs local)
 -L           Local mode (vs remote)
 -E number    Simulated error rate (0-100)
 -d           Create debug.log
 -h           Help (this message)
$

Podczas wysyłania plików, jeśli nie podasz Tekst lub binarny, EK skanuje każdy plik i wybiera tekst lub tryb binarny na podstawie jego treści.

Zdalne vs Local Mode służy tylko do włączenia testu dla przerwania klawiatury transferu plików.


Porting na nową platformę
Screenshot 2016-01-21 18:39

Wersja 1.0 EK został przeniesiony do VxWorks przez Airvana, Inc, Chelmsford MA. Kompletny pakiet VxWorks EK 1.1 wliczone jest jako przykład systemu produkcyjnego za zgodą Airvana w (zauważ, że API EK zmieniła się nieco od tego czasu, więc przed użyciem kodu VxWorks, musi być aktualizowana). Do portu na nowej platformie:

  •     Dodaj nowy wpis Makefile do celu, lub wyraź swoją procedurę kompilacji.
  •     Utwórz plik platform.h dla danej platformy. Mogą to być dowolne # to ANI definicji, i może być także użyty, aby zastąpić pewne definicje w kermit.h:#define NODEBUG to build without debugging code.
    #define HAVE_UCHAR if UCHAR is already defined or typedef‘d to unsigned char.
    #define HAVE_ULONG if ULONG is already defined or typedef‘d to unsigned long.
    #define IBUFLEN to be the desired size for the file input buffer.
    #define OBUFLEN to be the desired size for the file output buffer.
    #define FN_MAX to be the maximum length for a filename.
    #define P_PKTLEN to override the default maximum packet length.
    #define P_WSLOTS to override the default maximum window slots.
  •     Wymień main.c próbki z własnego programu sterującego. Użyj tego samego pliki nagłówkowe i konwencje telefoniczne, jak w próbce.
  •     Kopiowanie unixio.c do xxxio.c (nazwa do wyboru), edytować go do pracy na platformie używając dokładnie tych samych konwencje wywołań i dostosować procedury gromadzenia, aby połączyć się z nowym modułem xxxio zamiast unixio. Należy pamiętać, że wejście do napełniania i bufory wyjściowe (i_buf [] i o_buf []) muszą być zdefiniowane w rutynowych xxxio.


Oto kilka porad dotyczących tworzenia modułu I / O:

I / O oczekuje się procedury do obsługi komunikacji same parametry urządzenia, w tym prędkości komunikacyjnej linii, parzystości i kontroli przepływu. W szczególności, Kermit nie obsługuje parytetu, ale nadal muszą być poinformowani o tym. Odbywa się to w konfiguracji przez główny (). Twój readpkt () i tx_data () procedury należy rozebrać i dodać parytetu, odpowiednio, w razie potrzeby. Na połączeniach szeregowych, może UART może być zaprogramowany, aby to zrobić.

API Zmień między EK 1.1 i 1.2: konwencje wywołań (Listy argumentów funkcji i zwracane wartości) zostały zmienione od wersji 1.1 do 1.2, przede wszystkim dać wszystkie procedury dostępu do k struktury w sposób spójny, a także, aby zapewnić lepszą informację do osoby dzwoniącej , W każdym przypadku, gdy zmiana została dokonana, pokazane są zarówno stare jak i nowy format.

Urządzenie I / O są funkcje:

int
devopen(char * device)

Otwiera danego urządzenia komunikacyjnego. Może być również host, cokolwiek. Zwraca 0 w przypadku awarii, 1 na sukces.

int
devsettings(char * settings)

Ten wykonuje wszelkie potrzebne ustawienia urządzenia, takie jak kontrola prędkości i przepływu dla urządzenia szeregowego. Ponieważ nie ma sposobu, aby wiedzieć, jakie parametry są odpowiednie, ta procedura zajmuje tylko ciąg znaków, który może być w dowolnym formacie, np “9600; 8N1” lub “Speed ​​= 57600; przepływu = RTS / CTS”; procedura devsettings będzie musiał analizować ciąg. Zwraca 0 w przypadku awarii, 1 na sukces.

int
devrestore(void)

W razie potrzeby, umieścić urządzenie z powrotem drogą devsettings (okazało się, że, na przykład) tuż przed zamknięciem.

int
devclose(void)

Zamyka urządzenia komunikacyjnego.

int
readpkt(UCHAR * buffer, struct k_data * k)
(1.1)

readpkt(struct k_data * k, UCHAR * buffer, int length) (1.2)
Ta procedura musi zrobić dokładnie to, co jedna próbka nie szukaj na początku pakietu, a następnie skopiować wszystkie znaki aż do (ale nie włącznie) koniec pakietu do bufora pakietów, którego adres jest podany. Będziemy chcieli, aby kod to tak skutecznie, jak to możliwe, przy użyciu co sztuczki są dostępne dla Ciebie: nonblocking buforowane czyta itd Jeśli chcesz, aby twój program Kermit limit czasu, to gdzie chcesz umieścić kod. UWAGA: Limity czasu oczekiwania nie są konieczne, ponieważ szanse, że Kermit partnerem EK firmy nie mają czasu może się o 0. Format EK 1.2 stawia k jako pierwszy argument dla zachowania spójności z innymi procedurami, i dodaje długości bufora argument.

Uwaga funkcji F_CTRLC. To jest domyślnie włączona. Pozwala on EK być złamane z trybu pakietów wysyłając go trzy kolejne Ctrl-C w strumieniu danych. Zwykle nie trzeba to wyłączyć, ponieważ, nawet jeśli nadawca jest “unprefixing” Ctrl-C, trzy z nich w rzędzie normalnie upadł na sekwencję powtórz-count.

int
tx_data(UCHAR * data, int length, short parity)
(1.1)

tx_data(struct k_data * k, UCHAR * data, int length) (1.2)
Również trzeba dołączać parzystości (jeśli nie są podejmowane automatycznie przez urządzenie telekomunikacyjne lub sterownika). Ta procedura powinna być zarówno skuteczne i niezawodne. Przypuszcza się, aby cały ciąg transmisji danych, albo nie. Zobacz próbkę unixio.c za to, co mam na myśli przez “solidna”. W EK 1.2, a później, ustawienie parzystości jest pobierane z k struktury.

Plik Funkcje wejścia / wyjścia są następujące; Oczywiście mogą one być wykorzystywane do odczytywania lub zapisywania czegokolwiek – nie tylko pliki: pamięć, taśmy, karty, wiązek laserowych, kontrolerów instrumentu, cokolwiek. Nie ma znaczenia to, co nazywasz tych procedur, ale lista argumentów i powrotu typu musi być jak pokazano; także, jeśli dać im różne nazwy, będziesz musiał zmienić prototypy w kermit.h:

int
openfile(UCHAR * filename, int mode, struct k_date * k)
(1.1)

openfile(struct k_date * k, UCHAR * filename, int mode) (1.2)
Otwiera plik o nazwie w danym trybie (1 = odczyt, 2 = zapis, 3 = append). Zwroty X_OK na sukces, X_ERROR na niepowodzenie.

ULONG
fileinfo(UCHAR * filename, UCHAR * buf, int buflen, short * type, short mode)
(1.1)

fileinfo(struct k_data * k,UCHAR * filename,UCHAR * buf,int buflen,short * type,short mode) (1.2)
Pobiera informacje o określonym istniejącego pliku lokalnego: rozmiaru, daty, i, jeżeli tryb == 0, typ pliku (tekst lub binarny). buf i buflen dotyczą ciąg daty / czasu pliku. Zwraca X_OK lub X_ERROR.

int
readfile(struct k_data *)

Odczytuje bufor z pliku wejściowego, a jeśli transfer jest w trybie tekstowym, konwertuje format zapisu do standardowych Kermit Stream CRLF. Zwraca X_OK lub X_ERROR.

int
writefile(struct k_data *, CHAR * buffer, int length)

Zapisuje bufor do pliku wyjściowego, a jeżeli przekazanie to następuje w trybie tekstowym, konwertuje także standardowy format zapisu Kermit Stream CRLF do tego, co jest wymagane lokalnie. Zwraca X_OK lub X_ERROR.

int
closefile(struct k_data *, UCHAR code, int mode)
Zamyka plik. Dla plików wyjściowych, oczywiście to wypłukuje oczekujących buforów do pliku przed zamknięciem; Następnie sprawdza, czy wysyłanie Kermit anulowania transferu pliku, zanim został ukończony (kod == ‘D’), w którym to przypadku odrzuca częściowy plik zamiast trzymać go. Tryb wskazuje, czy jest to plik wejście lub wyjście, więc niezupełnie otrzymane pliki mogą być usunięte w razie potrzeby. Zwraca X_OK lub X_ERROR.

Dokładne konwencje telefoniczne są przedstawione w pliku unixio.c.


Debugowania
Screenshot 2016-01-21 18:39

Jeśli EK został zbudowany bez NODEBUG zdefiniowane, a następnie, jeśli to opcji -d w linii poleceń, wersja próbka Unix z EK tworzy plik debug.log w obecnym katalogu. W wersji produkcyjnej, należy dodać -DNODEBUG z flagami kompilatora C aby wyeliminować debugowania. Wielkości podane powyżej obejmują debugowanie. Możesz realizacji funkcji debugowania w dowolny sposób w module I / O dla poszczególnych platform.


Historia zmian
Wersja Data Opis
1.1 07.10.2002 Pierwsze wydanie. Wersja VxWorks jeszcze na tym poziomie.
1.2 28.01.2003 Poprawiona API, port Java (która jest nadal na tym poziomie).
1.3 04.03.2004 transfer plików Fix z HyperTerminal.
1.4 20.03.2004 odbioru Fix pustych plików.
1,5 10.04.2004 Problem z A-Fix pakietów, pozwala super mały i / lub odbierać-tylko konfiguracje.
1.51 23.09.2004 Dostosować Philips XAG30 (John Dunlap)
EKSW 0,94 24.06.2010 Prawdziwa okna z selektywnej retransmisji przesuwnych (John Dunlap)
1.6 30.03.2011 Opublikowane i wydane w ramach 3-Clause poprawionej licencji BSD.
1.7 06.06.2011 FORCE-3 protokołu, współpracuje z C-Kermit 9.0 (wyjaśnione tutaj)


POBIERANIE
Kilka różnych wdrożeń e-Kermit są dostępne do pobrania. Sam e-Kermit, wersja 1.7, jest głównym jeden. Pozostali to adaptacje do różnych platform i języków, które zostały wykonane podczas poprzednich wydań e-Kermit, jak wskazano w poprzednim punkcie; innymi słowy, ustala znaleźć w e-Kermit 1.3, 1.4, i 1.5 nie są w VxWorks lub wersji Java, a wersja VxWorks wykorzystuje E-Kermit 1,1 API zamiast ulepszonej wersji 1.2. EKSW ma pewne modyfikacje do API i inne nieścisłości, które powinny być cofnięte przed może być zintegrowany z EK 1.6, ale doskonale nadające się na własną rękę. W rzeczywistości, jest to wersja działa w nowej generacji Apex-EM oceanu pływaków i jest bardziej gruntownie przetestowane bardziej niekorzystnych warunkach niż ewentualnie każdej innej implementacji protokołu Kermit. Stanowiących podstawę do wersji 1.7, która implementuje nowy Siła-3 protokołu pakietów Sprawdzanie błędów. (EKSW będzie to też w pewnym momencie).

HTTP FTP
Nazwa Tar* Zip Pliki źródłowe
E-Kermit 1.7 Portable dla wszystkich platform, z demo Unix. Download Download Download
EKSW 0.94 E-Kermit z przesuwnymi oknami, prawdziwych dostosowanych do Linux. Download Download Download
EKVX 1.1 E-Kermit 1.1 przystosowane do VxWorks. Download Download Download
Java E-Kermit 1.2 konwertowane na Java Download Download Download
Simirid Tester stres Simirid Protokół [opis] Download Download Download

* Niesprężonym, nie ma potrzeby, są bardzo małe.

Kliknij tutaj w celu uzyskania dostępu do wszystkich plików, FTP, e-Kermit.

Comments are closed.