Autor Beitrag
RAR
Hält's aus hier
Beiträge: 1

Win XP, Linux, BeOS 5
D5 Ep
BeitragVerfasst: Mi 02.06.04 21:21 
Moin erstmal,
also ich hab vor kurzem mit Delphi angefangen und wollte nun mal ein kleines Spiel Programmieren.
Bloß mein Problem ist das ich nicht weiß wie ich herausfinden kann, ob der Gegner schon den Server geöffnet hat.

ich sag schon mal thx im voraus :D
hallo
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 450

WIN XP, SuSE 9.3
D3 Prof, D6 Pers, 2005 Pers
BeitragVerfasst: Mi 16.06.04 15:18 
Also:
wenn du über TServersocket und TClientsocket verbindest, mach einfach einen Verbindungsversuch! (try except end;)

_________________
Der beste je Programmierte Trojaner: Windows XP
Wäre es nicht adequat, den Usus heterogener Termini zu minimieren?
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Mi 16.06.04 15:45 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
uses WinSock;
// Das ist ein Copy&Paste, für Variablenfehler wird nicht gehaftet  :wink: 
function Connectable(Port:integer):boolean;
var ASocket:integer;
    SocketAddr:SOCKADDR_IN;
begin
 Result:=False;
 ASocket:=Socket(AF_INET,SOCK_STREAM,0);
 if ASocket=INVALID_SOCKET then begin
  ShowMessage('Fehler beim Prüfen von: '+IntToStr(Port)+#13+
   'Socket konnte nicht erstellt werden');
  exit;
 end;
 ZeroMemory(@SocketAddr,SizeOf(SOCKADDR_IN));
 SocketAddr.sin_Family:= AF_INET;
 SocketAddr.sin_Addr.S_Addr:=ntohl(IP);
 SocketAddr.sin_Port:=htons(Port);
 Result:=Connect(ASocket,SocketAddr,SizeOf(SocketAddr))<>SOCKET_ERROR;
 CloseSocket(ASocket);
end;

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.