socket verbindung ?

neonator
hi

bastle gerade ein script in perl smile

ich hab da das prob, dass ich ein file (text-datei) auf einen server laden will..
das perl-script ist der absender! das empfangen krieg ich schon hin..

die übertragung sollte entweder per ftp oder mit einem fake http formular (post) per socketverbindung geschehen..

gibt es eine funktion in perl die der fsockopen() von php enspricht?

das script will ich dann zu einer exe machen, wäre gut wenn es mit standard-befehlen gemacht ist, dann müssen keine dll's oder so dazu smile

thx

grüsse

jone
chrigu99
Zitat:

Sockets und Ports

Unter einem Socket wird im allgemeinen eine abstrakte Verbindung zwischen Anwendungen mittels des TCP/IP Protokolls verstanden. Dabei ist es unerheblich, ob diese Anwendungen auf einem Rechner oder auf verschiedenen Rechnern ablaufen. Es gibt für das TCP/IP Protokoll verschiedene Ports, die von verschiedenen Services (Diensten) genutzt werden. In der Datei /etc/services sind vordefinierte Ports aufgelistet. So wird zum Beispiel ein FTP-Server stets an Port 21 lauschen und ein HTTP-Server beispielsweise an Port 80. Baut ein Client die Verbindung zum Server auf, wird nach dem Öffnen des Ports normalerweise ein Kindprozess (fork) gestartet. Server und Client unterhalten sich nun. Der Hauptprozess bleibt weiterhin bestehen um weitere Clients zu handlen.

In Perl steht dem Programmierer das Modul IO::Socket (seit Perl5 Standardmodul) mit verschiedenen Methoden zur Verfügung welche es nach der Objekterstellung ermöglichen in Sockets zu schreiben oder auch Sockets auszulesen. Von Interesse ist für diesen Artikel die Erstellung von IO::Socket::INET Objekten. Sämtliche Methoden und Parameter sind in der Perldokumentation komplett beschrieben.
Hier ein paar wichtige Parameter für IO::Socket::INET Objects:
Parameter Bedeutung
Listen Größe der Warteschlange für Server
LocalAddr Lokale IP-Adresse (für Server nicht erforderlich)
LocalPort Port-Nummer für den Dienst (Server)
PeerAddr IP-Adresse, zu der eine Verbindung aufgebaut wird (für Clients)
PeerPort Port-Nummer oder Dienst, zu dem eine Verbindung aufgebaut wird
Proto Verbindungsprotokoll (tcp, udp)
Reuse Auf den Wert 1 einstellen, falls das Programm vor dem Schließen des Sockets beendet wird (Server)
Timeout Netzwerk Timeout für das Objekt
Type Socket-Type, z.B. SOCK_STREAM (TCP) oder SOCK_DGRAM (UDP)



so long

chris