Помогите плиз, может чета не догоняю. Программка клиент висит все время в процессах и должна если сервер доступен на любом из вышеуказанных ip коннектится к серверу, делаю таймер и коннект:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | procedure TForm1 . Timer1Timer(Sender: TObject);
begin
ClientSocket1 . Close;
Timer1 . Enabled := False ;
try
if socnum< 2 then inc(socnum) else socnum:= 0 ;
case socnum of
0 : ClientSocket1 . Address:= '*********' ;
1 : ClientSocket1 . Address:= '*********' ;
2 : ClientSocket1 . Address:= '*********' ;
end ;
ClientSocket1 . Open;
except
end ;
end ;
procedure TForm1 . ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer );
begin
ErrorCode := 0 ;
ClientSocket1 . Close;
Timer1 . Enabled:= true ;
end ;
|
Так вот, в вин Хр это проходит нормально, а в семерке работает только если запустить из самой среды дэльфи, сканил ТСР активность программы если запускать не из среды, вообще не пытается установить соединение, почему такое может быть?
И сразу еще один вопрос, почему программка если нет сервера и пытается подключаться на айпи и порт, плодит открытые порты? пока не забьет все доступные порты? (