PDA

View Full Version : [VB6] MANDAARE MESSAGGI IN RETE


tossam
19-04-2006, 15:23
c'è una rete di computer, io voglio fare un programma che mandi un messaggio ad un computer di mia scelta!!!! come diavolo faccio????? boh!!!

help me!!! :help: :help: :help: :help: :help: :help: :help: :help:

ViolaX
19-04-2006, 16:54
c'è una rete di computer, io voglio fare un programma che mandi un messaggio ad un computer di mia scelta!!!! come diavolo faccio????? boh!!!

help me!!! :help: :help: :help: :help: :help: :help: :help: :help:

Basta avere un'area condivisa da tutti i client (una cartella, il server, ecc.), nella quale scrivere e leggere messaggi tramite il nome del computer od un nome simbolico di Utilizzatore.

Se ti serve, ho già un pacchettino sorgente, che ti posso mandare.

Ciao !

papy2
17-06-2006, 09:32
buongiorno, è la prima volta che posto sul forum.
mi servirebbe quel piccolo progettino per l'invio di messaggi in rete lan!!!
se, per favore, me lo inviate a giuseppe.cisternino@tele2.it

grazie mille

ViolaX
17-06-2006, 09:41
buongiorno, è la prima volta che posto sul forum.
mi servirebbe quel piccolo progettino per l'invio di messaggi in rete lan!!!
se, per favore, me lo inviate a giuseppe.cisternino@tele2.it

grazie mille

Ciao, ben volentieri; ti chiedo solo il tempo di estrarlo da un gestionale

71104
17-06-2006, 11:53
se tutti i computers usano Windows allora usate il comando NET SEND dal prompt dei comandi

papy2
19-06-2006, 14:13
fammi un esempio di invio con net send

Naruto83
20-06-2006, 02:23
Net send nome_computer messaggio

invece se lo vuoi mandare a tutto il gruppo collegato in lan

Net send * messaggio

mynos79
20-06-2006, 08:51
Se invece vuoi implementarlo in un programmino grafico in vb6 puoi lanciare il comando così:

retval = shell("net send " & nomeComputer & " " & messaggio)

dove nomeComputer e messaggio sono due variabili in cui memorizzi il nome del computer destinatario (o * se li vuoi tutti) ed il messaggio (magari scritto in una textbox, mentre il nome del computer preso da una listbox in cui inserirai tutti i nomi dei pc dei tuoi colleghi di rete) ...

claud
16-03-2007, 11:11
E Visto che in Vista non c'è più, cosa posso usare?
So già che è possibile realizzare una specie di chat con winsock, ma preferire non dove installare niente sui client.
Grazie
Ciao

71104
16-03-2007, 11:33
provate WinChat, su XP si trova in C:\Windows\system32\winchat.exe

mi pare di ricordare che usasse il NetDDE, percui dovrete abilitare il servizio relativo se per voi non costituisce problemi di sicurezza.

claud
16-03-2007, 12:32
Hanno tolto anche quello da Vista, e comunque funzionava bene solo su NT4.
Aveva già dei problemi su 2000 e XP.
Poi mi serivrebbe poter mandare messaggi da dos.
Grazie
Ciao

71104
16-03-2007, 17:41
bah bah, curioso: se proprio non riesci a trovare nulla su Windows Vista allora credo che ti toccherà installare roba a parte; se non ti fidi delle terze parti e vuoi qualcosa di assolutamente non invadente considera che realizzare un programma eseguibile in C in modalità console per mandare messaggi sulla LAN credo sia questione di minuti :)

71104
16-03-2007, 17:45
ah, come non detto: leggo nel post originario che era da fare in VB6. non conosco VB6 e quindi non so come si possono usare i socket (OCX o API), ma a dire il vero vedrei più azzeccata un'impostazione basata su named pipes.

IspiCiosa
16-03-2007, 17:51
mi mandate il progettino anche a me?

claud
19-03-2007, 07:36
In vb6 i vscript è uguale, basta che non debba installare niente sui client.
Puoi darmi una dritta in più, non conosco come usare i pipes se non col dos per fare eseguire un comando dietro l'altro.
Grazie
Ciao

71104
19-03-2007, 09:20
io non lo so fare ne' in VB6 ne' in VBScript :P
lo saprei fare solamente in C

claud
19-03-2007, 10:21
Se hai qualcosa di già fatto, mi faresti un grande favore, altrimenti se mi dici che tipo di funzioni usare poi mi arrangio io.
Grazie mille

claud
22-03-2007, 07:37
Per VB6
ho utilizzato winsock
Ha bisogno di un server sempre in esecuzione e un client col quale mandare un msg da dos
Ciao

lato server

Private Sub Form_Load()
' Imposta su un intero la proprietà LocalPort.
' Richiama quindi il metodo Listen.
tcpserver.LocalPort = 1500
tcpserver.Listen
Form1.Hide
End Sub

Private Sub tcpserver_Close()
tcpserver.Close
tcpserver.LocalPort = 1500
tcpserver.Listen
End Sub

Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
' Verifica se il valore della proprietà State
' è sckClosed. In caso contrario, chiude la
' connessione prima di accettare quella nuova.

If tcpserver.State <> sckClosed Then tcpserver.Close

' Accetta la richiesta con il parametro
' requestID.
tcpserver.Accept requestID
End Sub


Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
' Dichiara una variabile per i dati in ingresso.
' Richiama il metodo GetData e assegna i dati
' alla proprietà Text del controllo casella di
' testo txtOutput.
Dim strData As String
tcpserver.GetData strData
n = Len(strData)
For a = 1 To n
car = Mid(strData, a, 1)
If car = "£" Then
testo = Mid(strData, a + 1)
Exit For
Else
mittente = mittente & car
End If

Next
mittente = "Messaggio inviato da " & mittente
messaggio = MsgBox(testo, vbOKOnly, mittente)
stat = tcpserver.State

End Sub



Private Sub tcpserver_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
tcpserver.Close
tcpserver.LocalPort = 1500
tcpserver.Listen
End Sub



lato client

Dim pa As String
Dim testo As String

Private Sub Form_Load()
' Il nome del controllo WinSock è tcpClient.
' Nota: per specificare un host remoto, è possibile
' utilizzare l'indirizzo IP (es: "121.111.1.1")
' oppure il nome del computer, come qui indicato.
param = Command
'param = "claudio prova 1"
n = Len(param)
For x = 1 To n
carat = Mid(param, x, 1)
If carat = " " Then
testo = Mid(param, x + 1)
Exit For
End If
pc = pc & carat
Next
If tcpclient.State <> sckConnected Then tcpclient.Connect pc, 1500
Form1.Hide
End Sub


Private Sub tcpclient_Connect()
testo = tcpclient.LocalHostName & "£" & testo
tcpclient.SendData testo
DoEvents
tcpclient.Close
Unload Me
End Sub

Private Sub tcpclient_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
tcpclient.Close
MsgBox ("connessione non riuscita")
Unload Me

End Sub