realbasic-nug.it
[Top] [All Lists]

Re: Shell

To: REALbasic NUG Italian <realbasic-nug dot it at lists dot realsoftware dot com>
Subject: Re: Shell
From: Matteo Cortonesi <m_cortonesi at ticino dot com>
Date: Wed, 15 Mar 2006 16:58:06 +0100
Delivered-to: realbasic-nug dot it at lists dot realsoftware dot com
References: <9C1EAED9-81F2-4513-9E19-35A4F90887F5 at libero dot it> <268838DE-2A76-411A-8445-76C86E5574B2 at ticino dot com> <C3F96D93-DF4D-48D7-BCF0-930931E21A31 at libero dot it>
È ovvio che ritorna una stringa vuota. Prima di tutto devi impostare anche la porta e far connettere il socket.

socket1.address = "mx1.libero.it"
socket1.port = 25
socket1.connect

A questo punto il socket potrebbe essersi connesso o no. Se il socket si è connesso allora viene chiamato l'evento Connected del socket (Se ci fai doppio click puoi vedere che il socket ha diversi eventi: connected, dataavailable, error, ecc). Quindi, nel caso fossi intenzionato ad eseguire una sessione smtp, dovresti inserire il codice: me.Write "HELO dominio.com" nell'evento "Connected" del socket. Quando il server ti risponderà qualcosa, l'evento DataAvailable sarà attivato. Devi quindi inserire il codice per leggere il buffer del socket in quell'evento.

Riguardo alla shell non sarei così pessimista. Anzi, è un bene che la shell non semplifica la situazione. Infatti non è nata per effettuare connessioni TCP/IP verso i server. E sarebbe come una bestemmia usarla per quello scopo!

Mi spiace ma l'approccio dei linguaggi di programmazione orientati agli oggetti è diverso rispetto al solito programma sequenziale BASIC (ad esempio). Una cosa che noto che molti non riescono ad afferrare bene è il concetto di Event-Driven Programs, dove non controlli più il programma in modo sequenziale, ma con gli eventi. Ti conviene leggerti una bella guida.

Matteo

On 15-mar-06, at 16:43, ivano monti wrote:

quello che noto e che se uso lo socket non riesco ad avere la risposta da memorizzare nel terminale

dim Risposta as String

socket1.address=mx1.libero.it
Risposta = socket1.ReadAll
terminale.text = risposta

mi ritorna vuota
io vorrei che ogni risposta che riceve socket1 la scriva nel terminale

CMQ è un peccato che la shell non possa semplificare la situazione

Ivano Monti
Sviluppo Gestionali e installazione siti professionali
P.R. ©® http://ivanomonti.iyelloworld.com/
P.R. ©® http://iyelloworld.com/
Forum > Filemaker > Java > Realbasic > MySQL & Php
Shopping > Aperto agli sviluppatori che vendono on line

(e) ivanomonti at iyelloworld
(e) ivanomonti at iyelloworld dot com
-
(t) 029693379
(f) 029693379
-
Skype = ivanomonti
AIM = ivanomonti
iChat = ivanomonti
Yahoo = ivanomonti
ICQ =  200782119
-





<Prev in Thread] Current Thread [Next in Thread>