Oppure

Loading
09/11/11 13:42
jaco94++
Salve a tutti

Ho un problema, la mia applicazione è un server che deve fare essenzialmente due cose:

1) deve ricevere del semplice testo e con degli if gestisco in base al comando arrivato cosa deve fare il server
2) deve poter ricevere file per salvarli o altro

il mio problema ora è: io uso tcplistener faccio accettare la connessione ad una socket non bloccante e ricevo il mio testo e lo elaboro in questo modo:

Socket me = newex.AcceptSocket();
                    me.Blocking = false;

                    int totalbytes = 0;
                    SocketError State = new SocketError();
                    while (true && AbortLS == false)
                    {
                        Thread.Sleep(10);
                        totalbytes = me.Receive(bytes, 0, 1, SocketFlags.None, out State);
                        if (SocketError.Success == State)
                        {
                            if (totalbytes > 0)
                            {
                                temp += System.Text.Encoding.ASCII.GetString(bytes, 0, totalbytes);
                            }
                            else
                            {
                                me.Close();
                                me.Dispose();
                                break;
                            }
                        }
                        else if (SocketError.WouldBlock != State)
                        {
                            MessageBox.Show("Socket Error", "Error");
                            me.Close();
                            me.Dispose();
                            break;
                        }
                        if (me.Available == 0 && temp != string.Empty)
{
if(temp=="HH")
{
.....
}
temp="";
}



il problema è che se ricevo un immagine ad esempio, il mio programma trasforma i byte dei file in testo e questo presumo essere un grosso problema , vorrei modificare il codice in modo da si ricevere testo per i comandi ma nel caso mi arrivi un file salvarlo nel disco come posso risolvere ?

Ps: prima che arrivi un file viene inviato un comando al server che dovrebbe prepararlo per la ricezione di un file
Ultima modifica effettuata da jaco94++ 09/11/11 13:45
aaa
09/11/11 14:53
nessuno
Non c'è differenza tra testo e dati binari in genere.

Basta che prima di ogni invio di dati tu inserisca un "preambolo" che indichi che tipo e quale quantità di byte trasmetti.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.