Originariamente inviato da Akira86
So che ce il modo di inviare il file come una stringa di byte (con il metodo send()) però penso sia una cosa abbastanza complessa per via delle possibili perdite di dati.

Aiutatemi voi.....
Se usi TCP (SOCK_STREAM) la possibilità di perdite di dati non è un problema, se ne occupa lui di gestire la ritrasmissione degli eventuali pacchetti danneggiati, di prevenire trasmisioni multiple e del riordino dei pacchetti.
Sostanzialmente TCP ti garantisce uno stream (flusso) affidabile (senza errori) di byte.
L'unica cosa che non garantisce è la conservazione dei confini tra i messaggi (message boundaries), cioè non è un protocollo come UDP orientato ai messaggi.
Per questo motivo dovrai scriverti usare queste funzioni (copia e incolla)
http://www.lilik.it/~mirko/gapil/gap...4-30900015.3.1

dai un'occhiata qui se hai dubbi sui socket (su TCP)
http://www.lilik.it/~mirko/gapil/gap...#x591-29200015