Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] Invio immagine bmp tramite socket UDP

    Buona sera a tutti,
    sto sviluppando un programma che trasmetta un'immagine acquisita da UE4 e salvata in bmp ad un server tramite connessione UDP(l'immagine in questione è un frame del gioco e il server si occupa di eseguire in real time delle elaborazioni sulla suddetta immagine poichè altrimenti troppo onerose per il client).
    Il problema è: come posso inviare tramite socket un'immagine?

  2. #2
    Suppongo che gli host siano sulla stessa LAN, altrimenti UDP è una scommessa perdente in partenza. Detto questo, considerano che UDP non implementa alcun controllo di flusso, per cui i pacchetti persi sono a carico tuo, così come il riordinamento dei pacchetti in arrivo.

    In caso contrario puoi usare il protocollo UDT che è un'estensione dell'UDP.

  3. #3
    Ciao Paolino, si entrambi gli host sono sulla stessa LAN ovviamente. L'ordinamento dei pacchetti l'ho previsto aggiungendo un id all'interno di ciascun pacchetto inviato, il server tiene traccia dell'ultimo id ricevuto e scarta tutti i pacchetti con id minore. Dovendo trattare con un buon framerate (30 fps) il client dovrà inviare 30 pacchetti al secondo e quindi UDP era la scelta più sensata in termini di velocità essendo connectionless.
    Come tratto però il file immagine nell'invio?

  4. #4
    Quote Originariamente inviata da masternick Visualizza il messaggio
    Come tratto però il file immagine nell'invio?
    Considerando che le reti hanno grossi problemi con qualsiasi cosa sia realtime e giudicando dalle esperienze dei tool VDI ( tipo XenDesktop, MS RDP/RemoteFX, ecc... ), non te la cavi con meno di una bella compressione ( che sia quanto più veloce possibile ma riduca la dimensione significativamente ). PNG, JPEG ( soprattutto ), sono gli schemi spesso usati laddove l'interattività non è rilevante. Negli altri casi si usano invece schemi differenziali, per esempio DXPC e suoi derivati.

    Il software NX di Nomachine implementa un derivato di DXPC che ho provato e funge bene pure su reti wifi n, quindi... Ci sono due implementazioni open, X2Go e NeatX.

    Poi a seconda della situazione potrebbe essere necessaria la crittografia, giusto per evitare spiacevoli MITM.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.