Hi DPler,
ich brauche kurz eure Hilfe. Ich hab mich in letzter Zeit mit Netzwerkprogrammieren befasst. Ich greife auf einfache WinSockets zurück. Nun wollt ich ein kleines 3-gewinnt-LAN/I-NET-Spiel machen. Aber der WinSocket kann nie verbinden.
Liegt das...
1) an den Firewalls (die hälfte hab ich mal deaktiviert, kein Erfolg^^)
2) an meinem
QC?
Hier der
QC:
Delphi-Quellcode:
try
client.host:=
ip;
Server.Port:=28890;
//oder blah ein anderer (habs mit 80 auch schon versucht...)
Client.Port:=28890;
server.Tag:=-1;
client.Tag:=-1;
server.Open;
client.Open;
StatusBar1.Panels[0].Text:='
Bitte warten';
while (server.tag = -1)
and (client.Tag = -1)
do
begin
Application.ProcessMessages;
sleep(100);
end;
if (server.tag=0)
and (client.tag=0)
then
begin
StatusBar1.Panels[0].Text:='
Verbunden mit '+
ip;
end
else begin
StatusBar1.Panels[0].Text:='
Fehler(01) beim Verbinden mit '+
ip;
end;
except
StatusBar1.Panels[0].Text:='
Fehler(02) beim Verbinden mit '+
ip;
end;
So hängt sich das ganze einfach auf. Er kommt folglich nicht aus der Schleife raus
. Lass ich die Schleife weg, kommt der programmierte Fehler 01 und nach einer Weile ein "asynchroner WinSocket Fehler". Sogar im lokalen Netzwerk funzts nicht; ist also die Router-FW schuld?
Mit Hoffnung auf schnelle Hilfe
Steffen
P.S.: Ich habe überall gesucht. Der
QC bei den Ergebnissen glich immer meinem. Aber über alle Links bin ich froh
.