* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Aprile 16, 2024, 08:29:46 am

Inserisci il nome utente, la password e la durata della sessione.

70 Visitatori, 2 Utenti
   

Autore Topic: Assistenza remota simil Team Viewer  (Letto 17900 volte)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Assistenza remota simil Team Viewer
« Risposta #15 il: Febbraio 20, 2019, 04:27:31 pm »
quindi per ora il TSendPingThread non servirebbe ma è in previsione di "sentire" se c'è il server per l'interscambio delle informazioni di connessione?
Imagination is more important than knowledge (A.Einstein)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Assistenza remota simil Team Viewer
« Risposta #16 il: Febbraio 20, 2019, 10:20:48 pm »
No il TSendPingThread  serve per creare l'UDP hole punching ovvero il modo con cui non farsi fermare dal firewall.

Inoltre è quello che serve al client per capire se la connessione è attualmente su oppure no.
Ieri è passato, domani è futuro, oggi è un dono...

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Assistenza remota simil Team Viewer
« Risposta #17 il: Febbraio 26, 2019, 08:38:47 am »
Allora qualcuno ha avuto modo di pensare alla mia proposta di portare avanti tale progetto?
Ieri è passato, domani è futuro, oggi è un dono...

guest1752

  • Visitatore
Re:Assistenza remota simil Team Viewer
« Risposta #18 il: Febbraio 26, 2019, 09:54:55 am »
ciao, a me piace molto l'idea, ma ho poco poco tempo questo periodo e ho visionato il codice molto velocemente.
Lo scambio di immagini potrebbe essere una parte interessante per me:
stavo ragionando ieri su un progetto di tanti anni fa in delphi dove in pratica giocavo con le GDI+ e il device context di windows ecc... ec.. .comunque alla fine l'idea che ho è che per minimizzare lo scambio dei dati si potrebbe dividere lo schermo in n quadrati e far passare solo le zone dello schermo diverse, come dicevi te. Interesssante pero.....

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Assistenza remota simil Team Viewer
« Risposta #19 il: Febbraio 26, 2019, 02:49:41 pm »
il progetto è interessante
si potrebbe dare una mano ma non posso fare di sicuro il manutentore del progetto :)
Imagination is more important than knowledge (A.Einstein)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Assistenza remota simil Team Viewer
« Risposta #20 il: Febbraio 26, 2019, 02:56:19 pm »
Si accettano anche aiuti, posso anche mantenerlo io ma avere una mano da voi. Ovviamente non in questo momento, ma quando saremo tutti un po meno pressati dal lavoro.
Ieri è passato, domani è futuro, oggi è un dono...

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Assistenza remota simil Team Viewer
« Risposta #21 il: Febbraio 26, 2019, 03:09:48 pm »
si, direi che aspettare tempi meno pressanti è un bene per tutti :)
intanto potresti provare a dividerlo in sottoprogetti
esempio:
- struttura principale (es: gestione thread per video, chat, scambio file, ...)
- gestione hole punching
- gestione astratta invio/ricezione dati come stringa
- gestione invio/ricezione video
- gestione invio/ricezione chat
- gestione invio/ricezione file

in questo modo sarà più facile dare una mano per chi potrà
:)
Imagination is more important than knowledge (A.Einstein)

guest1752

  • Visitatore
Re:Assistenza remota simil Team Viewer
« Risposta #22 il: Febbraio 26, 2019, 04:08:56 pm »
si, direi che aspettare tempi meno pressanti è un bene per tutti :)
intanto potresti provare a dividerlo in sottoprogetti
esempio:
- struttura principale (es: gestione thread per video, chat, scambio file, ...)
- gestione hole punching
- gestione astratta invio/ricezione dati come stringa
- gestione invio/ricezione video
- gestione invio/ricezione chat
- gestione invio/ricezione file

in questo modo sarà più facile dare una mano per chi potrà
:)

in effetti è un'ottima idea dividerlo in sottoprogetti.
Mi stavo chiedendo, visto che ci sono già programmi famosi che fanno egregiamente il loro lavoro, bisognerebbe pensare a delle features che gli altri non hanno ( non mi viene in mente niente per ora ) e  definire quale sia sistema il sistema operativo target.

Nel caso di un sistema operativo come Windows si potrebbero usare delle api dirette per renderlo veloce, ma se il progetto deve girare anche su linux o altro bisogna ragionare bene sulla struttura del progetto.
Cosa ne pensate?




xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Assistenza remota simil Team Viewer
« Risposta #23 il: Febbraio 26, 2019, 04:40:19 pm »
Il codice deve essere mantenibile e multipiattaforma, quindi escludo a priori api del singolo sistema operativo se proprio non sono costretto, tipo il controllo del mouse per cocoa.

Per il discorso cosa fare per renderlo appetibile il gioco è molto semplice: gratuito + social.

Il renderlo social lo spiegherò quando sarà il momento, non vorrei che qualcuno mi rubasse l'idea solo leggendola sul forum.
Ieri è passato, domani è futuro, oggi è un dono...

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Assistenza remota simil Team Viewer
« Risposta #24 il: Febbraio 27, 2019, 08:25:29 am »
Il codice deve essere mantenibile e multipiattaforma, quindi escludo a priori api del singolo sistema operativo se proprio non sono costretto, tipo il controllo del mouse per cocoa.

che sia multipiattaforma è un bene, forse oggi le app che non sono tali non hanno più tanto senso
per il mouse per cocoa, se non ci sono alternative valide, nulla ti vieta di usare le api dedicate: basta che incapsuli il codice dedicato con delle direttive

Imagination is more important than knowledge (A.Einstein)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Assistenza remota simil Team Viewer
« Risposta #25 il: Febbraio 27, 2019, 08:58:48 am »
Si anche io penso che le app singolo OS non hanno più molto senso. Detto questo sono riuscito ad ottenere qualcosa con il mouse di cocoa solo con il c. Ma se non ricordo male si possono inglobare delle librerie c in lazarus. Nella peggiore delle ipotesi faccio eseguire i comandi come un eseguibile esterno. Però diciamo che prima è importante che funzioni su win e linux con il pacchetto standard di lazarus. Poi quando abbiamo sistemato quello io simulo le stesse cose anche per cocoa. Magari la gestione del mouse e della tastiera l'astraiamo così da poterlo gestire meglio.
Ieri è passato, domani è futuro, oggi è un dono...

mbisax

  • Newbie
  • *
  • Post: 10
  • Karma: +1/-0
Re:Assistenza remota simil Team Viewer
« Risposta #26 il: Ottobre 28, 2020, 12:02:41 pm »
Salve,
nessun avanzamento di questo interessante progetto ?
Anche io, come xinyiman, penso da anni a un progetto simile per poter controllare la buona esecuzione dei prg installati presso i nostri clienti ma ho sempre desistito per mancanza di tempo.

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Assistenza remota simil Team Viewer
« Risposta #27 il: Ottobre 28, 2020, 04:07:56 pm »
Ciao, il progetto al momento è fermo, avevo settimane fa ripreso il tutto riscrivendolo da zero. Per il momento ho solo riscritto la parte per la condivisione dello schermo.

1. Ho suddiviso lo schermo in 4 parti
2. Trasmetto le singole 4 parti in rete con il protocollo UDP
3. Quando ricevo l'immagine parziale lo ricompongo nel mio programma

Funziona su mac e su windows, ma non su ubuntu. Non ha alcun tipo di crittografia al momento e ho fatto test solo in rete locale. Magari in futuro lo riprendo, ora sono davvero oberato di lavoro.
Ieri è passato, domani è futuro, oggi è un dono...

mbisax

  • Newbie
  • *
  • Post: 10
  • Karma: +1/-0
Re:Assistenza remota simil Team Viewer
« Risposta #28 il: Ottobre 28, 2020, 04:42:27 pm »
Grazie per aver risposto così rapidamente.
Ho provato la versione che avevi postato e funziona. Una buona base di partenza sulla quale si può lavorare per aggiungere ciò che manca. Se hai riscritto buona o tutta parte del programma conviene aspettare che tu renda disponibile la nuova versione prima di metterci mano.
Avendo affrontato il problema già tempo fa per una necessità molto più ridotta rispetto a quella che hai in animo di produrre, occorre trasmettere su un layer HTTP per passare attraverso il firewall che, normalmente non chiude la porta 80 dedicata al web: a quello che so, Teamviewer e altri prodotti simili sfruttano questa tecnica.


xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Assistenza remota simil Team Viewer
« Risposta #29 il: Ottobre 28, 2020, 06:17:14 pm »
Guarda penso proprio che TeamViewer funziona con la tecnica dell' Udp Hole Pouching. Comunque non ho nessun problema a condividere l'ultima versione.

Attenzione solo ad una cosa, le custom options

-dUseCThreads
-dNoWriteDebug
-dGetScreenInMainThread

La prima non va toccata, la seconda mi serviva per dare del debug usando la console, basta cambiarla in -dWriteDebug.
La terza invece se rimossa fa si che il desktop venga preso nei singoli thread (funziona su mac os e windows) mentre con -dGetScreenInMainThread dovrebbe funzionare con ubuntu (cosa che al momento non avviene).

Inoltre in uMain ci sono queste due costanti


const
     COUNT_ROW_ZONE_SCREEN = 1;
     COUNT_COL_ZONE_SCREEN = 1;

che servono a cambiare il numero di parti con cui suddivido il monitor e quindi il numero di thread secondari. Provate ad impostarlo su


const
     COUNT_ROW_ZONE_SCREEN = 2;
     COUNT_COL_ZONE_SCREEN = 2;
« Ultima modifica: Ottobre 28, 2020, 06:21:59 pm da xinyiman »
Ieri è passato, domani è futuro, oggi è un dono...

 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18769
  • Topic in totale: 2232
  • Online Today: 80
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 2
Guests: 70
Total: 72

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.