Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięTcpip i długie strony.
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Witam.
Czy ktoś poradził sobie z zawieszaniem sie układu w przypadku długich stron internetowych na TCPIP (długa strona - mam na myśli ramkę z kilkunastoma danymi)
Strona działa dobrze przez kilka minut (ma automatyczne odswieżanie co 30 s) a następnie wisi.
Pozdr AS
Czy ktoś poradził sobie z zawieszaniem sie układu w przypadku długich stron internetowych na TCPIP (długa strona - mam na myśli ramkę z kilkunastoma danymi)
Strona działa dobrze przez kilka minut (ma automatyczne odswieżanie co 30 s) a następnie wisi.
Pozdr AS
Mam ustawiony 1 kanał z buforem 8kb - strona napewno ma mniej jak odpalam przeglądarkę strona sie ładuje i mogę wchodzić na podstrony. jak na małej podstronce dam odswież to chodzi - na głównej się wiesza i nigdzie nie znalazłem rozwiązania - nawet etherrealem śledzilem ramki też są ok. Jak zamknę explorera i otworzę a mam ją jako startową to za każdym razem się otwiera i nie wiesza ale odśwież ją zabija - nie wiem jak to zdebugować - czyli gdzie zatrzymuje się program. Moje rozwiązanie to nie daję odświez a ustawienia mam na mniejszych stronkach. Ale myślę że gdzieś tkwi błąd w oprogramowaniu - a może w bascomie.
Pozdrawiam
Łukasz
Pozdrawiam
Łukasz
Witam "starą" ekipę od TCP/IP .
U mnie system chodzi na Atmega128. Serwis internetowy składa się ze strony głównej, która jest odświeżana co 3 sekundy (głownie dla aktualizacji czasu z serwera) oraz 5 podstron z tym że i z każdej z nich można wejść do jeszcze jednej podstrony (trzy poziomy zagłębienia). System jeszcze nie został sprawdzony w warunkach „bojowych”, trwa pisanie sortu. Natomiast były przeprowadzone 72 godzinne testy ciągłe uwzględniające chodzenie po stronach (wprowadzanie oraz odczyt danych) i nie zdarzyło się żeby serwer czy strona się powiesiła.
Pozdrawiam,
Adam.
U mnie system chodzi na Atmega128. Serwis internetowy składa się ze strony głównej, która jest odświeżana co 3 sekundy (głownie dla aktualizacji czasu z serwera) oraz 5 podstron z tym że i z każdej z nich można wejść do jeszcze jednej podstrony (trzy poziomy zagłębienia). System jeszcze nie został sprawdzony w warunkach „bojowych”, trwa pisanie sortu. Natomiast były przeprowadzone 72 godzinne testy ciągłe uwzględniające chodzenie po stronach (wprowadzanie oraz odczyt danych) i nie zdarzyło się żeby serwer czy strona się powiesiła.
Pozdrawiam,
Adam.
Witam
Pięknie że chodzi ja też poeksperymentuje z tymi wartosciami.
Może ten stack mi daje w kość.
Mam jeszcze pytanie....
Adres samego urządzenia można zmieniać podczas pracy przez settcp ale jak zmienić podczas pracy adres serwera z którym my chcemy gadac??
Tempw = Socketconnect(tempwsize , 192.168.7.197 , 80)
Mi nie chce działać i musze podawać adres i port w kodzie. jako zmienna nie chce chodzić.
Będę teraz robił kolejne urządzenie i szukam gdzie najtaniej można kupić IIM7010A w jakiej firmie??
[ Dodano: 02-03-2006, 18:42 ]
jeszcze raz...
czy możesz zasugerować jakieś wartości?? na których ci chodzi??
$hwstack,
$swstack,
$framesize,
Pięknie że chodzi ja też poeksperymentuje z tymi wartosciami.
Może ten stack mi daje w kość.
Mam jeszcze pytanie....
Adres samego urządzenia można zmieniać podczas pracy przez settcp ale jak zmienić podczas pracy adres serwera z którym my chcemy gadac??
Tempw = Socketconnect(tempwsize , 192.168.7.197 , 80)
Mi nie chce działać i musze podawać adres i port w kodzie. jako zmienna nie chce chodzić.
Będę teraz robił kolejne urządzenie i szukam gdzie najtaniej można kupić IIM7010A w jakiej firmie??
[ Dodano: 02-03-2006, 18:42 ]
jeszcze raz...
czy możesz zasugerować jakieś wartości?? na których ci chodzi??
$hwstack,
$swstack,
$framesize,
ja mam wszystko po 64 ale będę zwiększał po trochu i zobaczę.
Zastanawiałem się też nad tym - programy wysyła do przeglądarki ile znaków ma strona a potem wysyła samą treść w html - może ja źle zliczam te bajty??
Ja robię to tak:
*****************
If Bcontenttype = 0 Then
Restore Dta1
Call Zliczbajty 'zlicza ile bajtów ma strona i wysyła do przeglądarki
Restore Dta1
Do
Read S
Tempw = Tcpwritestr(i , S , 255)
Loop Until S = "</html>"
End If
*******
Sub Zliczbajty 'zlicza ile bajtów ma strona i wysyła do przeglądarki
Wsize = 0
Do
Read S
Wsize = Wsize + Len(s)
Loop Until S = "</html>"
Sheader = "Content-Length: " + Str(wsize) + "{013}{010}"
Tempw = Tcpwritestr(i , Sheader , 255)
End Sub
Mam nadzieję że te stacki pomogą
Zastanawiałem się też nad tym - programy wysyła do przeglądarki ile znaków ma strona a potem wysyła samą treść w html - może ja źle zliczam te bajty??
Ja robię to tak:
*****************
If Bcontenttype = 0 Then
Restore Dta1
Call Zliczbajty 'zlicza ile bajtów ma strona i wysyła do przeglądarki
Restore Dta1
Do
Read S
Tempw = Tcpwritestr(i , S , 255)
Loop Until S = "</html>"
End If
*******
Sub Zliczbajty 'zlicza ile bajtów ma strona i wysyła do przeglądarki
Wsize = 0
Do
Read S
Wsize = Wsize + Len(s)
Loop Until S = "</html>"
Sheader = "Content-Length: " + Str(wsize) + "{013}{010}"
Tempw = Tcpwritestr(i , Sheader , 255)
End Sub
Mam nadzieję że te stacki pomogą
Nie wiem jak to przyjmiecie!!!
Ze względu na to, że tak na dobrą sprawę nie jestem w stanie określić, jaką długość ma moja strona to definiuję jej długość na „oko”. Zawartość moich stron to masa tabel wypełnionych znakami zaczerpniętymi z Unicode (zamiast ikon) określające realizowany program + dane z czujników pomiarowych. To wszystko zagnieżdżone w kolejnych tabelach żeby się nie rozjechało przy zmianie rozmiaru okna przeglądarki. Tabele i znaki Unicode rysowane są poprzez wielokrotnie wywoływane procedury to też bez mozolnego liczenia na piechotę ilości wywołań oraz wysłanych znaków w każdym wywołaniu nie byłem w stanie określić, jaką długość ma strona. Znajomy, który „trochę i jeszcze więcej” pisze w HTML i PHP poradził mi żebym dał sobie spokój z liczeniem tego ile znaków wyślę i zadbał tylko o to żeby nie zadeklarować mniej niż ma strona w rzeczywistości. Coś mi się przypomina, że jak było mniej to się wieszało. Spróbuj tej metody może to ten problem.
Pozdrawiam,
Adam.
Ze względu na to, że tak na dobrą sprawę nie jestem w stanie określić, jaką długość ma moja strona to definiuję jej długość na „oko”. Zawartość moich stron to masa tabel wypełnionych znakami zaczerpniętymi z Unicode (zamiast ikon) określające realizowany program + dane z czujników pomiarowych. To wszystko zagnieżdżone w kolejnych tabelach żeby się nie rozjechało przy zmianie rozmiaru okna przeglądarki. Tabele i znaki Unicode rysowane są poprzez wielokrotnie wywoływane procedury to też bez mozolnego liczenia na piechotę ilości wywołań oraz wysłanych znaków w każdym wywołaniu nie byłem w stanie określić, jaką długość ma strona. Znajomy, który „trochę i jeszcze więcej” pisze w HTML i PHP poradził mi żebym dał sobie spokój z liczeniem tego ile znaków wyślę i zadbał tylko o to żeby nie zadeklarować mniej niż ma strona w rzeczywistości. Coś mi się przypomina, że jak było mniej to się wieszało. Spróbuj tej metody może to ten problem.
Pozdrawiam,
Adam.
Stos i resztę mam ustawione po 64.
Już kiedyś wcześniej pisałem że też mi się wydawało że źle są liczone znaki do wysłania.
Więc zastosowałem i po zwiększeniu liczby wysyłanych znaków chodzi dobrze.
Ale jeszcze raz mam pytanie jak najlepiej umieścić wyświetlane zmienne.
może tak czyli jeśli odczytasz komórkę 1a i masz ją wysłać do sieci to zmiast niej wpisz do stringu do komórki daną 1a
Czy jest inny sposób na wyświetlenie zmiennych, co z PHP lu skryptami ??
Już kiedyś wcześniej pisałem że też mi się wydawało że źle są liczone znaki do wysłania.
Więc zastosowałem
Kod: Zaznacz cały
Wsize = Wsize2 + 255
Ale jeszcze raz mam pytanie jak najlepiej umieścić wyświetlane zmienne.
może tak
Kod: Zaznacz cały
If S1 = "<TD>1a</TD>" Then S1 = "<TD>" + Str(1a) + "</TD>"
Czy jest inny sposób na wyświetlenie zmiennych, co z PHP lu skryptami ??
Procedura uczestniczy w wyświetlaniu Q elementowej listy wyboru której wielkość jest definiowana przez liczbowy parametr w zmiennej Q.
Jak widać jest ona zgodna z tym co pokazałeś w swoim
Pozdrawiam,
Adam
Jak widać jest ona zgodna z tym co pokazałeś w swoim
Kod: Zaznacz cały
'***************************
'* proceduta wpisująca kolejne opcje w listę wyboru
'***************************
Sub For_next_tcp
For Q = Q_start To Q_end Step 1
If Q = X Then
If Q < 10 Then
S = "<option selected>0" + Str(q) + "{013}{010}"
Else
S = "<option selected>" + Str(q) + "{013}{010}"
End If
Else
If Q < 10 Then
S = "<option>0" + Str(q) + "{013}{010}"
Else
S = "<option>" + Str(q) + "{013}{010}"
End If
End If
Tcp_send
Next Q
Tempw = Tcpwrite(i , "</Select>")
End Sub
Adam
CZeść.
BArdzo ciekawe jest użycie tego protokołu ale jak można sie do tego zabrać od podstaw,
co muszę mieć aby zająć się tym.
CZy można wykorzystać w taki sposób że uP robi np pomiar temperatury a następnie zostaje to przesłane naprzeglądarkę lub inna sytuacja czy z poziomu przeglądarki można steroć aplikacją uP czyli zmieniać ustawienia.
Pradę mówiąc jestem zielony z tego i nie wiem jak sie zabrać za to.
Możecie jakoś pomóc
BArdzo ciekawe jest użycie tego protokołu ale jak można sie do tego zabrać od podstaw,
co muszę mieć aby zająć się tym.
CZy można wykorzystać w taki sposób że uP robi np pomiar temperatury a następnie zostaje to przesłane naprzeglądarkę lub inna sytuacja czy z poziomu przeglądarki można steroć aplikacją uP czyli zmieniać ustawienia.
Pradę mówiąc jestem zielony z tego i nie wiem jak sie zabrać za to.
Możecie jakoś pomóc
Witam.
]Tak mi się coś zdaje że to ilość znaków wysyłana do przeglądarki tutaj bruździ. Dzisiaj to przetestuje
Co do pytania kolegi o sterowanie przeglądarką i z przeglądarki.
Można wysyłać co dusza zapragnie do przeglądarki jak również interpretować w dowolny sposób to co zwraca przeglądarka. Temat jest rozległy i też długo siedziałem zanim udało mi się napisać stronkę do zmiany ustawień ip,maski,i bramy płytki tcp przez przeglądarkę ale się udało.
Nie mogę tylko wprowadzić zmiennej do
Socketconnect(tempwsize , 192.168.7.197 , 80)
Aby zmienić parametr serwera odległego który chcę odpytać.
i tu ponawiam pytanie . Czy któś wie jak to zrobić??
[ Dodano: 03-03-2006, 10:26 ]
ACHA i jak zacząć??
Musisz zakupić płytkę EASYTCP z biblioteką bascoma , moduł wiznet i procek np. Atmega162 - ja ich używam i narazie pamięci mi nie brakowało. Właśnie szukałem i w http://www.kamami.pl mają wszystko czego potrzebujesz łącznie z bascomem.
]Tak mi się coś zdaje że to ilość znaków wysyłana do przeglądarki tutaj bruździ. Dzisiaj to przetestuje
Co do pytania kolegi o sterowanie przeglądarką i z przeglądarki.
Można wysyłać co dusza zapragnie do przeglądarki jak również interpretować w dowolny sposób to co zwraca przeglądarka. Temat jest rozległy i też długo siedziałem zanim udało mi się napisać stronkę do zmiany ustawień ip,maski,i bramy płytki tcp przez przeglądarkę ale się udało.
Nie mogę tylko wprowadzić zmiennej do
Socketconnect(tempwsize , 192.168.7.197 , 80)
Aby zmienić parametr serwera odległego który chcę odpytać.
i tu ponawiam pytanie . Czy któś wie jak to zrobić??
[ Dodano: 03-03-2006, 10:26 ]
ACHA i jak zacząć??
Musisz zakupić płytkę EASYTCP z biblioteką bascoma , moduł wiznet i procek np. Atmega162 - ja ich używam i narazie pamięci mi nie brakowało. Właśnie szukałem i w http://www.kamami.pl mają wszystko czego potrzebujesz łącznie z bascomem.
W sklepie na stronie www.psoc.prv.pl sa takze adaptery dzieki ktorym mozna podlaczyc modul wiznet za pomoca I2C.
To fajnie, ja dopiero jutro może zabiorę się za program.
Czy używaż dodatkowo na zakończenie wysyłania tekstu "{013}{010}"
czy tylko używasz Tempw = Tcpwritestr(i , S , 255) gdzie
"opcje można podać 0 jeśli wysłana ma być zawartość
zmiennej bez znaku końca linii; lub 255 by funkcja
sama dodała CR+LF.
Opis:
Funkcja jest specjalnym wariantem poprzedniej funkcji TCPWRITE. Przeznaczona
jest przede wszystkim do wysyłania ciągów znaków. W zależności od ostatniego
parametru funkcja dodaje znaki CR+LF. " -> z helpa
Czy używaż dodatkowo na zakończenie wysyłania tekstu "{013}{010}"
czy tylko używasz Tempw = Tcpwritestr(i , S , 255) gdzie
"opcje można podać 0 jeśli wysłana ma być zawartość
zmiennej bez znaku końca linii; lub 255 by funkcja
sama dodała CR+LF.
Opis:
Funkcja jest specjalnym wariantem poprzedniej funkcji TCPWRITE. Przeznaczona
jest przede wszystkim do wysyłania ciągów znaków. W zależności od ostatniego
parametru funkcja dodaje znaki CR+LF. " -> z helpa
Witajcie
używam tylko Tempw = Tcpwritestr(i , S , 255)
nie dodaje dodatkowo znaków końca linii.
Może ktoś jedna wie ja uzmiennić funkcję
Socketconnect(tempwsize , 192.168.7.197 , 80)
aby adres serwera docelowego podstawiać jako zmienną.
[ Dodano: 07-03-2006, 13:14 ]
Już wiem jak to zrobić i właśnie przerabiam program. Jak gogoś interesuje niech pisze.
używam tylko Tempw = Tcpwritestr(i , S , 255)
nie dodaje dodatkowo znaków końca linii.
Może ktoś jedna wie ja uzmiennić funkcję
Socketconnect(tempwsize , 192.168.7.197 , 80)
aby adres serwera docelowego podstawiać jako zmienną.
[ Dodano: 07-03-2006, 13:14 ]
Już wiem jak to zrobić i właśnie przerabiam program. Jak gogoś interesuje niech pisze.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości