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.

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:
Tcpip i długie strony.

Postautor: sablik » 23 lut 2006, o 13:56

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

harriet
-
-
Posty:28
Rejestracja:28 maja 2003, o 14:44
Lokalizacja:Kraków

Postautor: harriet » 28 lut 2006, o 20:46

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

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 28 lut 2006, o 23:13

Witam "starą" ekipę od TCP/IP :D.

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.

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Postautor: sablik » 1 mar 2006, o 10:25

dzięki diabeł tkwi w szczegółach - poszukam.

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 1 mar 2006, o 18:51

Polecam zwrócić uwagę:
$hwstack,
$swstack,
$framesize,

Adam.

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Postautor: sablik » 1 mar 2006, o 19:00

to jest ok procek pracuje.

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 1 mar 2006, o 21:16

Proponuję poeksperymentować z możliwe dużymi wartościami tych parametrów.
U mnie pomogło.
Adam.

harriet
-
-
Posty:28
Rejestracja:28 maja 2003, o 14:44
Lokalizacja:Kraków

Postautor: harriet » 2 mar 2006, o 18:38

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,

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Postautor: sablik » 2 mar 2006, o 19:25

Witam. czy próbowaliści jakiś aktywnych stron np cgi lub innych skryptów ??
Zastanawiam się nad dobrym wyświetleniem kilkunastu wartości.

a jutro zabaczę jak mam ustawione wartości stosu.

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 2 mar 2006, o 22:15

Pracuję na Atmega128 więc nie muszę się "szczypać" z RAM-em (4kB):
$hwstack = 128
$swstack = 256
$framesize = 128
pewnie jest to grubo za dużo, ale nie brakowało mi RAM-u więc nie musiałem oszczędzać.

Pozdrawiam,
Adam.

harriet
-
-
Posty:28
Rejestracja:28 maja 2003, o 14:44
Lokalizacja:Kraków

Postautor: harriet » 2 mar 2006, o 22:50

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ą :)

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 2 mar 2006, o 23:48

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.

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Postautor: sablik » 3 mar 2006, o 07:21

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

Kod: Zaznacz cały

Wsize = Wsize2 + 255
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

Kod: Zaznacz cały

If S1 = "<TD>1a</TD>" Then S1 = "<TD>" + Str(1a) + "</TD>"
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 ??

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 3 mar 2006, o 08:02

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

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
Pozdrawiam,
Adam

Sławek5
-
-
Posty:485
Rejestracja:15 sie 2003, o 16:40
Lokalizacja:Szczecin
Kontaktowanie:

Postautor: Sławek5 » 3 mar 2006, o 09:52

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

harriet
-
-
Posty:28
Rejestracja:28 maja 2003, o 14:44
Lokalizacja:Kraków

Postautor: harriet » 3 mar 2006, o 10:19

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.

mw
-
-
Posty:242
Rejestracja:23 lut 2003, o 23:22
Lokalizacja:Busko Zdrój
Kontaktowanie:

Postautor: mw » 3 mar 2006, o 19:33

W sklepie na stronie www.psoc.prv.pl sa takze adaptery dzieki ktorym mozna podlaczyc modul wiznet za pomoca I2C.

harriet
-
-
Posty:28
Rejestracja:28 maja 2003, o 14:44
Lokalizacja:Kraków

Postautor: harriet » 6 mar 2006, o 19:22

Witam

Co do długich stron to już mi śmigają :) hura

Zamiast obliczać długość strony poprostu wpisałem rozmiar 3000 na stałe i śmiga az miło moge klikać dowoli i się odswieza.

nie zminiałem stacków - nadal po 64 wszystko.

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Postautor: sablik » 6 mar 2006, o 20:01

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

harriet
-
-
Posty:28
Rejestracja:28 maja 2003, o 14:44
Lokalizacja:Kraków

Postautor: harriet » 6 mar 2006, o 22:21

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.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 74 gości