Newsgroup: it.comp.lang.visual-basic
Titolo: Telnet (o quasi)

Sto cercando di fare un prg che controlli se ho posta (come telnet,
solo che il server e la porta li decido a priori) e la connessione va
a buon fine (ricevo la stringa +OK POP3 PROXY server ready (7.0.019)
), ma quando invio "USER utente" non ricevo risposta. Il codice è
questo:
Dim testo As String
Private Sub connetti_Click()
tcpClient.Connect
End Sub
Private Sub Form_Load()
tcpClient.RemoteHost = "
mail.tin.it
"
tcpClient.RemotePort = 110
End Sub
Private Sub ok_Click()
tcpClient.SendData (Chr(13))
End Sub
Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
tcpClient.GetData testo
Text1.Text = testo
End Sub
Private Sub Text2_Change()
tcpClient.SendData (Text2.Text)
End Sub
Il pulsante ok serve per inviare il tasto invio. Che errore ho fatto?
All'inizio pensavo di dovere aspettare un po', ma non succede nulla
neanche ad aspettare e poi con telnet la risposta mi arriva subito.
Grazie 1000 a tutti ^_^

Nel messaggio precedente mi sono accorto di un  errore e cioč questo:
Private Sub Text2_Change()
tcpClient.SendData (Text2.Text)
End Sub
In questo modo mi sa che viene inviato U US USE USER e cosě via.Cosě va mglio?
Private Sub Text2_Change()
tcpClient.SendData (Text2.Text)
Text2.Text = ""
End Sub
Cmq non funziona neanche ora :-(
Grazie

 neanche ad aspettare e poi con telnet la risposta mi arriva subito.
hai provato inviando vbCrLf invece che Chr(13) (che dovrebbe essere solo il
Cr)?
non conosco le specifiche del protocollo, ma di solito... :)
e imho sarebbe piu' sensato inviare direttamente tutta la stringa "USER
utente<CRLF>" invece che inviarla a pezzetti.
ciao, assa.
--
gosclient: 
http://members.xoom.it/gosclient/
join the mailing list: 
http://groups.yahoo.com/group/gosclient/join
icq: #215876894

 solo che il server e la porta li decido a priori) e la connessione va
Cerca il progetto POP3 sul Sito Comune, link in firma.
Bye, G.
-- 
Le risposte alle tue domande sono sul Sito Comune
di questo NewsGroup: 
http://it-lang-vb.net/
... e nell'help in linea !

 End Sub
Potresti fare:
Private Sub Text2_KeyPress(KeyAscii as Integer)
	If KeyAscii=13 then
		tcpClient.SendData Text2.Text + vbCrLf
		KeyAscii=0
	End if
End Sub
Che invia al server quello che scrivi in Text2 non appena batti <Invio>.
Questo ovviamente funziona meglio a meno che non fai un Copia-Incolla... 
allora eventuali Chr(13) presenti nel testo incollato verranno inviati 
insieme e non so cosa può succedere.
Magari se in un file hai l'elenco dei comandi da inviare, riga per riga, 
copiandoli ed incollandoli li manderesti in sequenza ma senza aspettare 
la risposta del server... è tutto da vedere.
Se poi vuoi inviare quello che c'è scritto in Text2 ma senza battere 
invio, semmai alla pressione di un pulsante, allora negli eventi di 
Text2 non devi metterci niente. Il codice per inviare il contenuto della 
casella di testo va messo nel TuoCommandButton_Click().
Ciauzzzzzzzzzzzzzzzzzzzz
-- 
Nella vita una sola cosa è certa: se la storia ci ha insegnato qualcosa, 
è che si può uccidere chiunque.
(Michael Corleone)

End Sub
chr(13) non basta.
Semmai chr(13) & chr(10); o meglio ancora vbCrLf
In definitiva cancella il text2_change e fai cosi'
Private Sub ok_Click()
tcpClient.SendData Text2.Text & vbcrlf
End Sub
Perche' complicare le cose ;)