Schrift
[thread]4295[/thread]

TCP-Client unter Tk



<< >> 3 Einträge, 1 Seite
coax
 2005-04-02 17:39
#37616 #37616
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Mit fileevent() kannst du ein Filehandle oder ein Socket beobachten ob was lesbares da ist, da sollte dann auch nichts haengen.
siehe
perldoc Tk::fileevent
,,Das perlt aber heute wieder...'' -- Dittsche
Froschpopo
 2005-04-02 08:05
#37617 #37617
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ich hab mal nen einfachen Client gebaut (Kochbuch). Das Beispiel zeigt nur den Verbindungsaufbau, nicht das Tk-Script.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl

use strict;
use Socket;
socket(TO_SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
my $remote_host = '127.0.0.1';
my $internet_addr = inet_aton($remote_host)
    or die "Konnte $remote_host nicht in eine Internet-Adresse umwandeln\n";
my $paddr = sockaddr_in(3002, $internet_addr);
connect(TO_SERVER, $paddr)
    or die "Konnte keine Verbindung zu $remote_host herstellen.\n";
print TO_SERVER "hallo\n";
close(TO_SERVER);

Wie muss ich jetzt auf Antworten des Servers warten ohne das ganze Tk-Programm einzufrieren? Die Antwort lautet Multi-Asking so mit Threads und so...
weiss jemand wie man das forken kann?

Wir hatten ja gestern schonmal darüber gesprochen, jedoch fällt mir hier beim besten Willen keine Lösung mit nem Timer ein. Da muss ich wohl jetzt mit Threads arbeiten\n\n

<!--EDIT|Froschpopo|1112415898-->
Froschpopo
 2005-04-02 17:57
#37618 #37618
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
also unter Linux kann ich ne Pipe mit open() bauen aber dann funzt mein Client nichtmehr auf Win32 und diese Unabhängigkeit war eigentlich der Grund warum ich Tk gewählt hab. Hab aber noch ne Funktion im Kochbuch gefunden, die nennt sich pipe()... mal schaun ob du unter win32 auch funzt, aber das kommt erst morgen dran ;)
<< >> 3 Einträge, 1 Seite



View all threads created 2005-04-02 17:39.