Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    137

    [C#] Problema con GetStream di TcpClient

    Ciao ragazzi aiutatemi sono disperato!!!!!
    Sto realizzando un server ftp in C#. Sembra che funzioni ma, quando leggo il buffer in ricezione
    con GetStream mi restituisce solo due righe. Cosa sto sbagliando? Qualcuno di voi ha un esempio funzionante da suggerirmi?
    Grazie!!!!!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da ingant Visualizza il messaggio
    Ciao ragazzi aiutatemi sono disperato!!!!!
    Sto realizzando un server ftp in C#. Sembra che funzioni ma, quando leggo il buffer in ricezione
    con GetStream mi restituisce solo due righe. Cosa sto sbagliando? Qualcuno di voi ha un esempio funzionante da suggerirmi?
    Grazie!!!!!!
    Questa non è la sezione per il C# ... comunque, se non mostri il codice che usi è impossibile dirti dove sbagli ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    137

    Il codice da me utilizzato è il seguente:

    codice:
    _listener = new TcpListener(_localEndPoint);
    _listener.Start();
    _listener.BeginAcceptTcpClient(HandleAcceptTcpClie nt, _listener); 
    private void HandleAcceptTcpClient(IAsyncResult result)
    {
    if (_listening)
    {
    _listener.BeginAcceptTcpClient(HandleAcceptTcpClie nt, _listener);
    TcpClient client = _listener.EndAcceptTcpClient(result); 
    ClientConnection connection = new ClientConnection(client);
    _activeConnections.Add(connection);
    ThreadPool.QueueUserWorkItem(connection.HandleClie nt, client); 
    }
    }
    public void HandleClient(object obj)
    {
    _remoteEndPoint = (IPEndPoint)_controlClient.Client.RemoteEndPoint;
    _clientIP = _remoteEndPoint.Address.ToString();
    _controlStream = _controlClient.GetStream(); 
    _controlReader = new StreamReader(_controlStream);
    _controlWriter = new StreamWriter(_controlStream); 
    _controlWriter.WriteLine("220 Service Ready.");
    _controlWriter.Flush();
    _validCommands.AddRange(new string[] { "AUTH", "USER", "PASS", "QUIT", "HELP", "NOOP" });
    string line;
    _dataClient = new TcpClient();
    string renameFrom = null;
    try
    { 
    while ((line = _controlReader.ReadLine()) != null) 
    {
    .............
    }
    }
    }
    Ultima modifica di LeleFT; 02-03-2015 a 10:35 Motivo: Aggiunti i tag CODE

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ho spostato in "Visual Basic e .NET Framework".

    PS: il codice va postato all'interno degli appositi tag [CODE] .. [/CODE] per mantenerne indentazione e formattazione. Ho corretto anche questo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    137
    Ho trovato la soluzione!!!!!
    Devo solo studiare meglio il protocollo FTP. Il client infatti invia solo i dati di login e per inviare il resto del messaggio attende la risposta 230 dal Server.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.