Newsgroup: it.comp.lang.visual-basic
Titolo: Creare App come Servzio / Usare Winsock senza forms

Salve a tutti.
Ho realizzato una app che consta di una parte server e una client.
La parte server usa winsock e accetta comandi remoti dal client per
l'esecuzione di specifici comandi (non è un virus o codice maligno)
In realtà vorrei fare un applicativo VB che gira senza interfaccia
utente e come un servizio NT.
Come posso fare a utilizzare il controllo Winsock per creare connessioni
TCP?.
non so proprio da dove cominciare... :-(
grazie 1000
Mirko Parisi
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 TCP?.
crei un form, gli metti "dentro" il controllo winsocket, e poi NON
visualizzi il form... il cotrollo winsock funzionerà tranquillamente
per sapere come usare winsocket... F1, ci sono dei begli esempi

 per sapere come usare winsocket... F1, ci sono dei begli esempi
ok ma questa non é la soluzione al mio post.
io voglio creare un servizio e non nascondere una form (che poi è
comunque visibile nell'elenco dei programmi)
successivamente al punto precedente, quindi niente form e app come
servizio, voglio usare winsock...
l'help di wincosk l'ho già usato per creare le due app
(server/client)...mitico F1!
grazie per la risposta, ma non hai risposto a nessuno dei mie quesiti
ciao


 comunque visibile nell'elenco dei programmi)
Prendi NTSVC.Ocx (un Ocx Microsoft per gestire un app VB come servizio NT),
lo metti sulla form, copincolli il codice MS che serve per
installare/disinstallare/avviare/arrestare/sospendere il servizio, e poi
semplicemente non visualizzi la form.
Ciao
Alberto

 Alberto
ciao e grazie mille
mirko


 ma se volessi uasre winsock senza codice é proprio un gran casino?
Mi sfugge il tuo quesito.
Alberto
-- 
"Tina, ta te tòta tinta un tac!"
"Te cat tac i tac, m'tac't un tac?"
"Me ca tac un tac a tè?
Tac'tel te l tò tac, tò!"

>TCP?.
allora ho risposto.

 Mi sfugge il tuo quesito.
beh in effetti ho scritto una putt****a ;-)
in realtà volevo sapere se é possibile usare winsock senza il controllo.
ho cercato sui vecchi post ma è un gran casino, in rete ho trovato
qualcosa di interessante per la creazione dei servizi.
siccome non voglio avere interfaccia grafica, l'exe non deve comparire
nell'elenco dei programmi ma solo in quello dei processi (tab centrale
del task manager di NT) e non voglio 'sporcare' il ramo del registro
HKEY_LOCAL_MACHINE\SOFWTARE\Microsoft\Windwos\CurrentVersion\Run lo
voglio come servizio.
siccome poi non voglio usare forms ma mi serve winsock vorrei capire se
e come usarlo senza il controllo (dato che non ho forms)
forse adesso sono stato più chiaro (e direi logorroico)
ciao


 allora ho risposto.
il post é il quesito, hai risposto al post a modo tuo
grazie cmq
ciao


 se e come usarlo senza il controllo (dato che non ho forms)
Winsock non fa altro che richiamare una serie di Api relative ai socket,
quindi volendo puoi usare direttamente quelle.
Tuttavia, siccome avere o non avere form non ti cambia niente (beh, cioè,
avrai qualche byte di ram usata in più, ma non mi sembra grave), ti
consiglio vivamente di usare una form e di metterci un controllo sopra.
Poi non la visualizzi, ed è esattamente come fare un modulo bas e avviarlo
senza interfaccia.
Ciao



Referenzi l'OCX e lo dichiari WithEvents.
Occhio REFERENZIARE.
Esempio:
Private WithEvents mobjWinsock As MSWinsockLib.Winsock
'
Public Sub Connect()
On Error Resume Next
Set mobjWinsock = New MSWinsockLib.Winsock
mobjWinsock.Protocol = sckTCPProtocol
mobjWinsock.RemotePort = Me.RemotePort
mobjWinsock.RemoteHost = Me.RemoteHost
Me.Status = "CLIENT: Connecting to SMTP server"
mobjWinsock.Connect
If Err.Number <> 0 Then
RaiseEvent Error(Err.Number, Err.Description)
Err.Clear
End If
End Sub
Però fammiti dire una cosa.
Nel momento in cui includi l'ocx che implementa l'interfaccia del Service
Control
Manager il tuo programma può essere installato come servizio.
Quando un programma è installato come servizio non lo vedi nell'elenco
delle applicazioni attive ma lo vedi come processo.
Puoi usare anche le forms che tanto non verranno visualizzate poichè di
default
i servizi girano come localsystem e non interagiscono con il desktop.
Se poi il servizio gira con credenziali diverse da localsystem il problema
non si pone proprio.
-- 
-- 
Saluti e salute a tutti.
________________
Gabriele Del Giovine [Microsoft MVP] - Windows 2000 - Windows NT 4.0
- Le informazioni fornite in questo messaggio sono fornite
  senza vincolo di garanzia e senza responsabilità alcuna.