Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-08-2003, 20:10   #1
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
Contatore

ragazzi un aiuto serio
sto delirando, non riesco a fare un contatore di accessi per un sito in asp e come database un file txt

ne avete di gia pronti?
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2003, 22:43   #2
mello
Senior Member
 
L'Avatar di mello
 
Iscritto dal: Nov 1999
Città: Cuneo
Messaggi: 314
ti consiglio di guardare su http://freeasp.html.it/

di sicuro trovi qualcosa....


ciao


mello è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2003, 22:46   #3
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
Quote:
Originariamente inviato da mello
ti consiglio di guardare su http://freeasp.html.it/

di sicuro trovi qualcosa....


ciao


lo so gia visto
giuro non riesco a farne andare uno
me ne serve uno testato gia pronto
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 00:52   #4
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
questo funziona:

http://www.aspcode.it/articoli/artic...how_art&idx=12
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 07:16   #5
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
Quote:
Originariamente inviato da maxithron
questo funziona:

http://www.aspcode.it/articoli/artic...how_art&idx=12
allora
lavoro con dreamweaver
ho creato il file visite.txt e l'ho messo nella cartella che ho creato "public" sulla root del sito
sempre sulla root ho messo il contatore copiando esattamente il codice

vado alla pagina e mi dice

Microsoft VBScript runtime error '800a0046'

Permission denied

/contatore.asp, line 25


perchè?
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 11:29   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
L'errore te lo da perchè probabilmente non hai la cartella /public sul tuo server web...

Sinceramente un contatore del genere mi lascia un po' perplesso... E' sintatticamente scorretto...può portare sia a pardita di conteggi, sia ad inconsistenza del contenuto del file...

Vi spiego perchè...

Codice PHP:
<%
Dim nomefilefilestream
nomefile 
Server.MapPath("/public/visite.txt")
Set objFile CreateObject("Scripting.FileSystemObject")

'se il file non esiste, crealo
if not objFile.FileExists(nomefile) then
  Set filestream = objFile.OpenTextFile(nomefile, 2, true)
  filestream.WriteLine("0")
end if

'
legge il numero attuale di visite
Set filestream 
objFile.OpenTextFile(nomefile1true)
Dim visite
visite 
filestream.ReadLine()
filestream.Close 

'punto UNO

'
se non è ancora presente la variabile di sessione
if Session("visiting")<>1 then
  Session
("visiting") = 1  'crea la variabile di sessione
  visite = visite + 1  '
incrementa di uno gli accessi al sito
end 
if

'scrive nel file il valore aggiornato di visite
Set filestream = objFile.CreateTextFile(nomefile, true)
'
punto DUE
filestream
.WriteLine(visite)
filestream.Close

Set filestream 
Nothing
Set objFile 
Nothing

'visualizza sul browser il numero totale di visite
Response.Write "Numero visite: " &visite
%> 
Tenete conto di due esecuzioni parallele del codice: A e B

Nel file c'è il numero 1000...

A arriva al punto UNO e legge 1000...
B arriva al punto DUE e legge 1000...

A arriva al punto DUE e scrive 1001...
B arriva al punto DUE e scrive 1001...

Ecco che si è perso un conteggio... Il file doveva contenere 1002...

Riguardo all'inconsistenza contenuto del file... Non so come e se viene gestita la mutua esclusione sull'accesso al file...
OpenTextFile attende che un file sia stato chiuso ? Spero di sì altrimenti ci sarebbero molti errori...
Ad esempio A è al punto DUE, B arriva al punto UNO...B non ha letto nessun numero del file...

Senza contare le possibilità di scrittura contemporanea con WriteFile...che porterebbero a risultati inconsistenti (a meno che questa possibilità venga gestita da ASP in modo intelligente)...

Quindi secondo me se si vuole fare un buon contatore, senza ricorrere ad un database, bisogna utilizzare le variabili di applicazione e gli eventi nel global.asa !!!

Una cosa semplice (contenuto del file Global.asa):
Codice PHP:
<SCRIPT LANGUAGE=VBScript RUNAT=Server
Sub Application_OnStart
   Dim nomefile
filestream
   nomefile 
Server.MapPath("/public/visite.txt")
   
Application("nomefile") = nomefile
   Set objFile 
CreateObject("Scripting.FileSystemObject")

   
'se il file non esiste, crealo
   if not objFile.FileExists(nomefile) then
     Set filestream = objFile.OpenTextFile(nomefile, 2, true)
     filestream.WriteLine("0")
   end if

   '
legge il numero attuale di visite
   Set filestream 
objFile.OpenTextFile(nomefile1true)
   
Dim visite
   visite 
filestream.ReadLine()
   
filestream.Close 

   Application
("Contatore") = visite
   Application
("UtentiOnline") = 0

   Set filestream 
Nothing
   Set objFile 
Nothing
End Sub

Sub Application_OnEnd
   Dim nomefile
filestream
   nomefile 
Application("nomefile")
   
Set objFile CreateObject("Scripting.FileSystemObject")

   
'scrive nel file il valore aggiornato di visite
   Set filestream = objFile.CreateTextFile(nomefile, true)
   filestream.WriteLine(Application("Contatore"))
   filestream.Close
 
   Set filestream = Nothing
   Set objFile = Nothing
End Sub

Sub Session_OnStart
   Application("Contatore") = Application("Contatore") + 1
   Application("UtentiOnline") = Application("UtentiOnline") + 1
End Sub

Sub Session_OnEnd
   Application("UtentiOnline") = Application("UtentiOnline") - 1
End Sub
</SCRIPT> 
In questo modo hai sia un contatore di visite che di utenti online...

Ultima modifica di cionci : 18-08-2003 alle 16:45.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 11:32   #7
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
grazie dell'aiuto ma se non ci spieghiamo bene non potrò mai capire
dove lo metto il codice?
in una pagina asp o php?
la pagina dove la metto?
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 11:35   #8
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
quoto dal link:

"Una caratteristica importante di questo contatore, è che esso evita di conteggiare i reload al sito (per intenderci, quegli accessi che vengono conteggiati quando si clicca sul pulsante aggiorna del browser), o gli eventuali ritorni alla home page dopo aver visitato pagine interne al sito: per implementare questa "feature" utilizziamo una variabile di sessione che creiamo nel momento in cui un utente entra nel nostro sito a cui diamo il valore 1; prima di incrementare il contatore verrà verificato che questa variabile abbia un valore diverso da 1 (se non è così significa che l'utente è già passato dalla home page del nostro sito durante quella sessione e che quindi il suo accesso è già stato conteggiato)."

ma è chiaro che è solo un riferimento per chi ha una certa fretta.


cmq..al solito, hai fatto un'ottima analisi!

__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 11:38   #9
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
lo dico almeno faccio chiarezza
non ho MAI usato asp o php quindi parto proprio da 0
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 13:32   #10
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da Kinh
lo dico almeno faccio chiarezza
non ho MAI usato asp o php quindi parto proprio da 0
OT: vedo che sei il webmaster del sito dei Lacuna Coil. grandissimo gruppo.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 13:33   #11
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
Quote:
Originariamente inviato da VICIUS
OT: vedo che sei il webmaster del sito dei Lacuna Coil. grandissimo gruppo.

ciao
si che se quando tornano non imparo un po di asp mi sotterrano
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 16:34   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quello che ho scritto lo devi mettere in un file chiamato global.asa che va messo all'interno della root del server web...

Per visualizzare il valore del contatore:

<%= Application("Contatore") %>

Per visualizzare il numero di utenti online:

<%= Application("UtentiOnline") %>
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 16:36   #13
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
Quote:
Originariamente inviato da cionci
Quello che ho scritto lo devi mettere in un file chiamato global.asa che va messo all'interno della root del server web...

Per visualizzare il valore del contatore:

<%= Application("Contatore") %>

Per visualizzare il numero di utenti online:

<%= Application("UtentiOnline") %>
mmm ok
praticamente faccio un file global.asa e scrivo dentro tutta la pappardella
ma poi?
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 16:44   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Poi per visualizzare il contatore scrivi quello che ti ho scritto sopra all'interno del codice HTML di una pagina con estensione .asp...

Ad esempio:
Codice:
<html>
<head>
<title></title>
</head>
<body>
Contatore: <%= Application("Contatore") %>
Utenti online: <%= Application("UtentiOnline") %>
</body>
</html>
Ricopia il codice da mettere in global.asa...c'era un errorino...
Comunque funziona egregiamente...ho provato...

Ultima modifica di cionci : 18-08-2003 alle 16:47.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 16:47   #15
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
Quote:
Originariamente inviato da cionci
Poi per visualizzare il contatore scrivi quello che ti ho scritto sopra all'interno del codice HTML di una pagina con estensione .asp...

Ad esempio:
Codice:
<html>
<head>
<title></title>
</head>
<body>
Contatore: <%= Application("Contatore") %>
Utenti online: <%= Application("UtentiOnline") %>
</body>
</html>
ok dimmi se ho capito bene passo passo
faccio un file ASP con dentro questo codice

Codice:
<% 
Dim nomefile, filestream 
nomefile = Server.MapPath("/public/visite.txt") 
Set objFile = CreateObject("Scripting.FileSystemObject") 

'se il file non esiste, crealo 
if not objFile.FileExists(nomefile) then 
  Set filestream = objFile.OpenTextFile(nomefile, 2, true) 
  filestream.WriteLine("0") 
end if 

'legge il numero attuale di visite 
Set filestream = objFile.OpenTextFile(nomefile, 1, true) 
Dim visite 
visite = filestream.ReadLine() 
filestream.Close  

'punto UNO 

'se non è ancora presente la variabile di sessione 
if Session("visiting")<>1 then 
  Session("visiting") = 1  'crea la variabile di sessione 
  visite = visite + 1  'incrementa di uno gli accessi al sito 
end if 

'scrive nel file il valore aggiornato di visite 
Set filestream = objFile.CreateTextFile(nomefile, true) 
'punto DUE 
filestream.WriteLine(visite) 
filestream.Close 

Set filestream = Nothing 
Set objFile = Nothing 

'visualizza sul browser il numero totale di visite 
Response.Write "Numero visite: " &visite 
%>
lo metto sulla root

poi chessò nella mia index metto

Contatore: <%= Application("Contatore") %>
Utenti online: <%= Application("UtentiOnline") %>

e tutto funziona?
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 17:06   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Il codice da mettere in global.asa non è quello, ma quello che avevo postato dopo, sempre nello stesso post...

Comunque usa questo che è modificato e previene il fatto che se si pianta il server web si perdano tutti i conteggi...
Codice:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>  
Sub Application_OnStart 
   Dim nomefile, filestream 
   nomefile = Server.MapPath("/visite.txt") 
   Application("nomefile") = nomefile 
   Set objFile = CreateObject("Scripting.FileSystemObject") 

   'se il file non esiste, crealo 
   if not objFile.FileExists(nomefile) then 
     Set filestream = objFile.OpenTextFile(nomefile, 2, true) 
     filestream.WriteLine("0") 
   end if 

   'legge il numero attuale di visite 
   Set filestream = objFile.OpenTextFile(nomefile, 1, true) 
   Dim visite 
   visite = filestream.ReadLine() 
   filestream.Close  

   Application("Contatore") = visite 
   Application("UtentiOnline") = 0 

   Set filestream = Nothing 
   Set objFile = Nothing 
End Sub 

Sub Application_OnEnd 
   Dim nomefile, filestream 
   nomefile = Application("nomefile") 
   Set objFile = CreateObject("Scripting.FileSystemObject") 

   'scrive nel file il valore aggiornato di visite 
   Set filestream = objFile.CreateTextFile(nomefile, true) 
   filestream.WriteLine(Application("Contatore")) 
   filestream.Close 

   Set filestream = Nothing 
   Set objFile = Nothing 
End Sub 

Sub Session_OnStart 
   Application("Contatore") = Application("Contatore") + 1 
   Application("UtentiOnline") = Application("UtentiOnline") + 1 
End Sub 

Sub Session_OnEnd 
   Application("UtentiOnline") = Application("UtentiOnline") - 1 

   Dim numeroVisite
   numeroVisite = Application("Contatore")
   If (numeroVisite Mod 100 = 0) Then
      Dim nomefile, filestream 
      nomefile = Application("nomefile") 
      Set objFile = CreateObject("Scripting.FileSystemObject") 

      'scrive nel file il valore aggiornato di visite 
      Set filestream = objFile.CreateTextFile(nomefile, true) 
      filestream.WriteLine(Application("Contatore")) 
      filestream.Close 

      Set filestream = Nothing 
      Set objFile = Nothing 
   End If
End Sub 
</SCRIPT>
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 17:08   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Kinh
poi chessò nella mia index metto
index.asp mi raccomando... E' sempre codice ASP e va utilizzati in file con estensione .asp !!!
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 17:08   #18
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
non cè che mi ricapitoli che mi sa che mi sto confondendo?
mi dici cosa fare e dove passo passo

grassie
Kinh è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 17:13   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Avevi detto tutto bene... L'unica cosa è che avevi sbagliato a copiare il codice da mettere in global.asa...

Metti il codice sopra in global.asa...copi il file nella root...nei tuoi file .asp puoi richiamare i contatori con il emtodo scritto sopra...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-08-2003, 17:20   #20
Kinh
Bannato
 
L'Avatar di Kinh
 
Iscritto dal: Aug 2003
Città: M i l @ n o
Messaggi: 5265
ma non capisco
il codice global.asa che hai detto tu è quello che ho scritto

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Dim nomefile, filestream
nomefile = Server.MapPath("/public/visite.txt")
Application("nomefile") = nomefile
Set objFile = CreateObject("Scripting.FileSystemObject")

'se il file non esiste, crealo
if not objFile.FileExists(nomefile) then
Set filestream = objFile.OpenTextFile(nomefile, 2, true)
filestream.WriteLine("0")
end if

'legge il numero attuale di visite
Set filestream = objFile.OpenTextFile(nomefile, 1, true)
Dim visite
visite = filestream.ReadLine()
filestream.Close

Application("Contatore") = visite
Application("UtentiOnline") = 0

Set filestream = Nothing
Set objFile = Nothing
End Sub

Sub Application_OnEnd
Dim nomefile, filestream
nomefile = Application("nomefile")
Set objFile = CreateObject("Scripting.FileSystemObject")

'scrive nel file il valore aggiornato di visite
Set filestream = objFile.CreateTextFile(nomefile, true)
filestream.WriteLine(Application("Contatore"))
filestream.Close

Set filestream = Nothing
Set objFile = Nothing
End Sub

Sub Session_OnStart
Application("Contatore") = Application("Contatore") + 1
Application("UtentiOnline") = Application("UtentiOnline") + 1
End Sub

Sub Session_OnEnd
Application("UtentiOnline") = Application("UtentiOnline") - 1
End Sub
</SCRIPT>

non è che mi mandi un esempio?rischiamo solo di nn capirci cosi
Kinh è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Torna il super doppio sconto sulle e-bik...
Offerte Amazon componenti PC: RTX 5060 T...
Crucial Pro DDR5 da 32GB a 389,99€: perc...
Fable 5, il modello più potente d...
PC all-in-one Lenovo super elegante, per...
Lo Smart TV più venduto su Amazon...
Periferiche gaming in offerta su Amazon:...
L'IA non è una bolla, ma pu&ograv...
Il cinema in salotto: oggi TV Xiaomi QLE...
Passa a ho. Mobile, fino a fine agosto c...
Ai Giochi di Pechino i robot prendono fu...
Arianespace Ariane 6: lanciato il satell...
Starship: la nave Forte ha caricato Ship...
ROCm 10 punta sull'AI agentica: AMD auto...
Meta cambia la privacy degli AI Glasses:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v