Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - El Berto

Pagine: 1 ... 8 9 [10]
136
Programmazione (Gambas 2) / Re: [RISOLTO]Array e Matrici Globali
« il: 09 Dicembre 2011, 16:58:52 »
Eccomi!
Allora, io non riesco a usare un array multidimensionale:

Citazione
PUBLIC DatabaseStazioni As New String[20,20]


Public sub GenerateDatabase()
   DatabaseStazioni[1,1] = "gigi"

Mi mette "Bad number of dimensions"
Dove sbaglio?

137
Ho provato il gksudo, adesso mi si apre una finestra in cui immettere la password dell'utente, ma mi serve una cosa in automatico; smanettando ho capito come modificare il file "sudoers", adesso mi funziona correttamente con SHELL, solo non riesco a capire come gestire gli eventuali output che mi dicono che la cartella è già montata o percorso non disponibile (busy).

138
Chiedo scusa, ho sbagliato a scrivere, in realtà stavo usando EXEC con le parentesi quadre.
Ho provato anche con SHELL, ma niente.
Mi viene un dubbio: da riga di comando poi mi viene chiesta la password di amministratore, non è che non funziona perchè non sto inserendo la password?

139
Non so se sono nella discussione giusta, ma volevo eseguire un mount in automatico all'apertura:

se eseguo lo script "umount -t smbs /mnt/pippo" da console, allora funziona.
Se creo uno script .sh e lo eseguo "nel terminale", funziona.
Se lo eseguo in Gambas con "EXECUTE( "umount -t smbs /mnt/pippo"), allora non funziona.
Dov'è che sbaglio?
Grazie.

140
Programmazione (Gambas 2) / Re: Info TCP server
« il: 02 Dicembre 2011, 15:22:28 »
Niente da fare: ho provato a sincronizzare 3 client in modo che mi trasmettessero contemporaneamente e come temevo ecco cosa mi succede con il LAST:

Codice: [Seleziona]
Socket number 0,  ID client 1Bh,  request data code  1
Socket number 1,  ID client 21h,  request data code  1
Socket number 0,  ID client 1Bh,  request data code  2
Socket number 1,  ID client 21h,  request data code  2
Socket number 2,  ID client 1Dh,  request data code  1
Socket number 0,  ID client 1Bh,  request data code  3
Socket number 1,  ID client 21h,  request data code  3
Socket number 2,  ID client 1Dh,  request data code  2

mi si mischiano gli stream; io vorrei una cosa che mi mette in coda gli stream, come FIFO:
Codice: [Seleziona]
Socket number 0,  ID client 1Bh,  request data code  1
Socket number 0,  ID client 1Bh,  request data code  2
Socket number 0,  ID client 1Bh,  request data code  3

Socket number 1,  ID client 1Dh,  request data code  1
Socket number 1,  ID client 1Dh,  request data code  2
Socket number 1,  ID client 1Dh,  request data code  3

Socket number 2,  ID client 21h,  request data code  1
Socket number 2,  ID client 21h,  request data code  2
Socket number 2,  ID client 21h,  request data code  3


Qualche idea?

141
Programmazione (Gambas 2) / Re: Info TCP server
« il: 02 Dicembre 2011, 14:50:18 »
Allora, in VisualBasic ho una cosa del tipo:

Codice: [Seleziona]
NetworkStream = TcpClient.GetStream()

NetworkStream.ReadBytes (RxBuffer, 0, 32) ' legge 32 bytes dallo stream in ricezione dal server

Dove RxBuffer è un array di tipo Byte, quindi il contenuto è una cosa del tipo: 0x22, 0x24, 0x00, 0xFF, .......

Visto che in Gambas mi sembra tutti gli stream vengono letti come stringhe
Codice: [Seleziona]
 DIM sBuf AS String
READ #LAST, sBuf, Lof(LAST) ' leggo lo stream in ingresso, ma lo leggo come stringa

allora, per ottenere il mio array di byte (o di integer) ho proceduto come segue (non penso sia il metodo più efficace, ma funziona):
Codice: [Seleziona]
  DIM sBuf AS String
    DIM tis AS Byte
    DIM iCount AS Integer
    DIM Length AS Integer

  Length = Lof(LAST)
  READ #LAST, sBuf, Length ' leggo lo stream in ingresso
 
  FOR iCount = 1 TO Length STEP 1
        RxData[iCount - 1] = Asc(sBuf, iCount) ' con RxData AS Byte[32]
  NEXT

' adesso ho il mio buffer di ricezione contenente i dati in ingresso (in Byte)





142
Programmazione (Gambas 2) / Re: Info TCP server
« il: 02 Dicembre 2011, 12:23:42 »
Comunque, studiando gli esempi non mi tornano i conti, il mio sistema (attuale su Windows) è una cosa di questo tipo:

- Client: Richiesta temperature interne
- Server: Trasmissione dati temperature interne
- Client: Richiesta temperature esterne
- Server: Trasmissione dati temperature esterne
- Client: Richiesta stato sistema
- Server: Trasmissione dati stato sistema
- chiusura del socket

Quindi in una stessa connessione ci sono 3 trasmissioni dati.

Ora, con l'utilizzo di più client contemporaneamente e la keyword "LAST", non è che mischio l'ordine dei client, ovvero effettuo la prima trasmissione con il primo client che ricevo, poi effettuo la seconda trasmissione dati con un secondo client a cui mi sono connesso dopo?
Oppure, fino a quando non chiudo il socket con il primo client, il secondo viene messo in attesa?


P.S.
Qualcuno mi può dire come leggere uno stream e metterlo in un array di Bytes?
In tutto gli esempi che trovo i dati vengono messi in una stringa!!!!
Codice: [Seleziona]
READ #LAST, sBuf, LEN(sBuf)

143
Programmazione (Gambas 2) / Re: Info TCP server
« il: 02 Dicembre 2011, 11:38:57 »
Ipotizzo che ci siano delle porte riservate o meno in base al fatto che si utilizzi un socket Unix o Tcp, del tipo porte da 1 a 1999 per socket Unix e da 2000 in poi per socket Tcp, ma mi sembra un po' strano....
In rete non ho trovato niente a riguardo.

144
Programmazione (Gambas 2) / Re: Info TCP server
« il: 02 Dicembre 2011, 09:56:19 »
Allora, ho provato con le porte:
29 -> "Unable to bind socket"
292 -> "Unable to bind socket"

2000 -> Funziona

Ci sono valori di porta riservati?

145
Programmazione (Gambas 2) / Re: Info TCP server
« il: 30 Novembre 2011, 16:44:25 »
Allora, rifacendomi all'esempio del server TCP, ho provato questo codice:

Codice: [Seleziona]
 
PUBLIC SUB Form_Open()
 Client = NEW Object[]
 Server.Type = Net.Internet
 Server.Port = 27 ' porta
 Server.Listen(0)
 TextArea1.Text = TextArea1.Text & "Server started!" & Chr(13) & Chr(10)
END

E puntualmente ho l'errore:

Citazione
  Message.Error("Unable to bind socket")

Potreste spiegarmi dov'è che sbaglio? A me sembra uguale alla parte dell'esempio (eccetto il fatto che non scelgo la modalità UNIX o TCP)...
Grazie.

146
Programmazione (Gambas 2) / Re: Info TCP server
« il: 23 Novembre 2011, 14:30:12 »
Dopo un po' di tempo riesco finalmente a tornare a lavorare su Gambas.

Dando un'occhiata agli esempi di Gambas...... ma il ServerSocket gestisce già implicitamente più client contemporanei?

147
Programmazione (Gambas 2) / Aprire files .rar e inserire password
« il: 23 Novembre 2011, 14:11:01 »
Mi stavo chiedendo come fare per aprire un file copresso in formato ".rar", controllare se contiene a sua volta archivi compressi o semplici files e poi chiuderlo inserendo una password.
Ho provato a cercare sul forum ma non mi sembra di trovare niente, si può fare?
Grazie.

148
Programmazione (Gambas 2) / Re: Info TCP server
« il: 10 Gennaio 2011, 12:02:35 »
Allora, io uso l'ultima di Slackware (mi sembra la 13).

Il codice l'ho copiato direttamente da una pagina web dove parlava di Server/Client in Gambas.

Ci sono esempi di Gambas da vedere/scaricare da qualche parte?

Che la classe ClsServer non è creata lo sospettavo anch'io, come faccio?

149
Programmazione (Gambas 2) / Re: Info TCP server
« il: 10 Gennaio 2011, 09:38:22 »
Innanzitutto, grazie per il benvenuto.
Poi, Windows (nello specifico Visual Studio) qualche qualità ce l'aveva; se non altro riuscivo a trovare gli esempi in rete.
Oggi volevo installare Firefox su Linux ma ci ho rinunciato.

Comunque, tornando al problema, io "dovrei" aver abilitato tutti i moduli necessari:

Project -> Properties -> Components
ho abilitati Gb.net e Gb.net.curl

L'errore è sempre:
"Unknown identifier: ClsServer"
Anche se dichiaro "As Server" non cambia niente.
Io l'esempio l'ho copiato come l'ho trovato.

150
Programmazione (Gambas 2) / Info TCP server
« il: 05 Gennaio 2011, 15:52:33 »
Ciao a tutti, sono nuovo del forum.
Prima (e anche adesso) lavoravo con Visual Basic; mi tocca però passare a un sistema Linux.
Sto provando a fare dei piccoli programmini con protocollo TCP/IP.

Ho provato a eseguire questo piccolo programma di esempio:

Citazione
' Gambas class file
STATIC Server AS ClsServer
PUBLIC Clients AS Object[]
PUBLIC Srv AS ServerSocket

PUBLIC SUB Socket_Read()

  DIM sCad AS String
  READ #LAST,sCad,Lof(LAST)
  PRINT "Received data -->" & sCad
  WRITE #LAST,"bye",3

END

PUBLIC SUB Socket_Closed()

  PRINT "Connection closed"
  Clients.Remove(Clients.Find(LAST))

END

PUBLIC SUB Srv_Connection(Host AS String)

  DIM MySock AS Socket
  PRINT "Accepting connection from --> " & Host
  MySock=Srv.Accept()
  Clients.Add(MySock)

END

PUBLIC SUB _New()

  Clients =NEW Object[]
  Srv=NEW ServerSocket AS "Srv"
  Srv.Port=3450
  Srv.Type=ServerSocket.Internet
  Srv.Listen()

END

STATIC PUBLIC SUB Main()

  Server=NEW ClsServer

END

Ma durante la compilazione mi compare l'errore:

"Unknown identifier: ClsServer"

Dov'è che ho sbagliato?
Grazie.

Pagine: 1 ... 8 9 [10]