Thread Socket-Server, ich verstehe es nicht ganz: Perl-Server+C#-Client-> Bi-Direkt.-Verbi (15 answers)
Opened by Gast at 2007-02-20 14:14

no1gizmo
 2007-02-21 11:43
#37466 #37466
User since
2007-02-20
21 Artikel
BenutzerIn
[Homepage] [default_avatar]
Gut um das Select kümmere ich mich noch (in C# hab ichs auch noch nie verwendet).

Das hat wohl aber nichts mit meinem Problem zu tun.

Also nochmal, mein Problem ist, dass die ganze Sache blockiert, also, wenn ich dem Server einen text zum Ausgeben schicke, dann wird dieser erst ausgegeben, wenn die Verbindung unterbrochen wurde (der Client schließt die Verbindung).

Ich habe mal was anderes aussprobiert, es passiert das selbe, wie im opbigen Code.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl

use IO::Socket;

socket(SOCKET,PF_INET,SOCK_STREAM, getprotobyname('tcp')) || die "blabla";

$sockaddr = sockaddr_in(13, INADDR_ANY);

bind (SOCKET, $sockaddr) || die "bind tuts nich";

listen(SOCKET, SOMAXCONN) || die "listen tuts nicht";

print "/nWartend\n";

&read();

close(SOCKET);

sub read()
{
accept(CONNECT,SOCKET);

while(defined($line= <CONNECT>))
{
print $line;
}

close(CONNECT);
}


tja und wie das mit ->read() funktioniert weiß ich nicht :-( Ich finde in den tutorials immer nur die Möglichkeit, wie das Handle (direkt oder wie hier indirekt) der print-funktion übergeben wird.

View full thread Socket-Server, ich verstehe es nicht ganz: Perl-Server+C#-Client-> Bi-Direkt.-Verbi