Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ftp och sockets

Postades av 2004-09-12 12:36:46 - August Gustavsson, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 571 personer

Hej!
Jag håller på att skriva en ftp klient, men jag har stött på patrull. Så här ligger det till; Jag kan ansluta och logga in till min lokala ftp server o hämta fillista, ladda hem en fil osv. Men då fort jag ansluter till någon på nätverket funkar det inte. Så här blir det ungefär.

Ansluter...
Tar emot välkommst msg...
Skickar USER anv...
Skickar PASS psw...
Felmeddelande från servern: PASS psw not implemted... (500 el. 502 minns inte riktigt)

Vissa gånger när jag ansluter får jag tillbaka ett meddelande efter jag skcikar USER som säger "Password required", men dom gångerna blir det problem sen ändå, för att sista raden i välkommstmeddelandet (Det efter man har loggat in) kommer inte med i den bufferten som resten av meddelandet. Raden lyder "230 User anv has logged in." el liknande. Samma problem uppstår när jag skickar andra kommandon också.
Alltså, om det jag ska ta emot från servern är mer än en rad är det ganska stor chans att den glömmer sista raden... vad beror det på?
Detta betyder att när jag skickar nästa kommando och tar emot ett svar får jag det som skulle varit på sista raden i det förra kommandots svar... Weird...

Är ganska nybörjare på det här med sockets och ftp på hyffsat låg nivå.

Tacksam för svar!


Svara

Sv: ftp och sockets

Postades av 2004-09-12 21:16:48 - Johan Normén

Hej,

Kan inte direkt svara på vad du gjort för fel, här har du en enkel implementation jag skängt ihop.
Kanske du kan få idéer från den. Annars så kan du kolla RFCn för FTP protocollet. En annan sak är att det faktiskt finns massor med redan färdigkodade ftp klasser för .Net bara o leta lite.
I .Net 2.0 kommer det även ett FTP Stöd. Lite kort info:
http://www.nsquared2.net/johan/viewpost.aspx?PostID=10

<code>
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace Nsquared2.Net.FTP
{
/// <summary>
/// Summary description for FTPClient.
/// </summary>
public class FTPClient
{
protected Socket clientSocket;
protected string hostName;
protected int port;
protected string receivedData = null;
protected int StatusValue = 220;

protected static int BUFFER_SIZE = 512;
protected byte[] buffer = new Byte[BUFFER_SIZE];


public string HostName
{
get{return(hostName);}
set{hostName = value;}
}

public int Port
{
get{return(port);}
set{port = value;}
}

public FTPClient()
{}

public string Login(string userName,string password)
{
clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
clientSocket.Connect(new IPEndPoint(GetIPAddress(),port));
ReadNetworkStream();

if(StatusValue != 220)
throw new Exception(receivedData);

SendCommand("USER "+ userName);

if(StatusValue != 331)
throw new Exception(receivedData);

SendCommand("PASS "+ password);

if(StatusValue != 230)
throw new Exception(receivedData);

SendCommand("STORE YOU_HAVE_BEEN_HACKED!!!");

return(receivedData);
}

private void ReadNetworkStream()
{
int ReceivedValue = clientSocket.Receive(buffer,0,buffer.Length,0);
receivedData = Encoding.ASCII.GetString(buffer,0,ReceivedValue);
StatusValue = Int32.Parse(receivedData.Substring(0,3));
}

private IPAddress GetIPAddress()
{
long IPAddressValue = System.Net.Dns.GetHostByName(hostName).AddressList[0].Address;
return(new IPAddress(IPAddressValue));
}

private void SendCommand(string command)
{
Byte[] commandByte = Encoding.ASCII.GetBytes(command+"\r\n");
clientSocket.Send(commandByte,commandByte.Length,0);
ReadNetworkStream();
}
}
}
</code>

Mvh Johan


Svara

Sv: ftp och sockets

Postades av 2004-09-15 21:26:03 - August Gustavsson

Koden är inte helt olik min, och borde ha samma problem, skulle jag tro, den funkar på dom flesta, men så fort en server skickar ett välkomst meddelande på typ 20 rader (eller nåt?) buggar det och den missar att ta emot sista raden. Ftp servern jag upptäckte detta mot var Raiden ftpd. Har inte hittat någon annan som inte fungerar än.
Verkar vara ett svårlöst problem, ska gå in o kolla lite på rfc:t lite oxå kanske hittar något nyttigt att veta där...


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
988
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies