Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сокеты "сдохли" [D7, WinXP]


Страницы:   1 2

Sergl ©   (2007-10-22 13:01:00) 

Запускаю сервер(button1). Запускаю клиент(button2). Когда нажимаю на кнопку button4 повляется ошибка: "Windows socket error: An invalid argument was supplied(10022), on API 'closesocket' " Что случилось? Ведь еще вчера работало???

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ScktComp, StdCtrls;

type
 TForm1 = class(TForm)
   ClientSocket1: TClientSocket;
   ServerSocket1: TServerSocket;
   Button1: TButton;
   Button2: TButton;
   Button3: TButton;
   Button4: TButton;
   Label1: TLabel;
   Label2: TLabel;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button4Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
serversocket1.Active:=false;
serversocket1.Port:=1111;
serversocket1.Active:=true;
label1.Caption:='Сервер запущен(порт:1111)';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
clientsocket1.Active:=false;
clientsocket1.Port:=1111;
clientsocket1.Address:='127.0.0.1';
clientsocket1.Active:=true;
label2.caption:='Клиент запущен(127.0.0.1:1111)';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
label1.Caption:='Сервер не запущен';
serversocket1.Active:=false;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
label2.Caption:='Клиент не запущен';
clientsocket1.Active:=false;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Caption:='Сервер не запущен';
label2.Caption:='Клиент не запущен';
end;

end.


Сергей М.   (2007-10-23 10:46:00) [1]


> я кажется своей прогой повредил системную инфу


Может и ты ... А может и Кошмарский)


Sergl   (2007-10-23 08:45:00) [2]

Вообщем проблема решилась точкой отката в windows:)(после чего ошибка 10022 перестала появлятся) забавно... я кажется своей прогой повредил системную инфу)


Sergl   (2007-10-22 16:05:00) [3]

Спасибо. Ухожу домой, надеюсь завтра продолжим.


Сергей М.   (2007-10-22 15:49:00) [4]


> Жмешь Ctrl+[


Ctrl+ ]


Сергей М.   (2007-10-22 15:48:00) [5]

загружаешь telnet.exe (Пуск -> Выполнить ..)

Пишешь 'open 127.0.0.1 1111'<ENTER>

Жмешь Ctrl+[

Пишешь 'close'<ENTER>

Что наблюдаешь ?


Sergl   (2007-10-22 15:38:00) [6]

Это как проверить? Ни разу не пользовался...


Сергей М.   (2007-10-22 15:35:00) [7]

Фигня какая-то ...

Ну хорошо, а что говорит по этому поводу telnet ?


Sergl   (2007-10-22 15:33:00) [8]


> А что говорит OnError на клиенте ?


Написал в процедуре TForm1.clientsocket1Error - showmessage(inttostr(ErrorCode));
Молчит.

Написал в процедуре TForm1.serversocket1clientError - showmessage(inttostr(ErrorCode));
Тоже молчит.


Сергей М.   (2007-10-22 15:24:00) [9]

А что говорит OnError на клиенте ?


Sergl   (2007-10-22 15:19:00) [10]


> А событие OnClientDisconnect при этом ?

Я в обработчик события OnClientDisconnect написал showmeesage('disconnect').Появилось один раз.


Сергей М.   (2007-10-22 15:11:00) [11]

А событие OnClientDisconnect при этом ?


Sergl   (2007-10-22 14:39:00) [12]

Кстати: сообщение об ошибке(10022) появлется два раза подряд...


Sergl   (2007-10-22 14:38:00) [13]


> > Убрал.

Деинсталлировал ?

Удалил - прога все также не работает %)


Сергей М.   (2007-10-22 14:35:00) [14]


> Нет конечно)


Ну дык а что ж тогда хочешь ?)


Sergl   (2007-10-22 14:34:00) [15]


> Деинсталлировал ?

Нет конечно)


Сергей М.   (2007-10-22 14:29:00) [16]


> Убрал.


Деинсталлировал ?


Sergl   (2007-10-22 14:29:00) [17]


> Даже если ты победишь эту ошибку, в "боевых" условиях твоя
> программа все равно работать как положено не будет.


Но это ни суть важно, тот код который Вы давали(в 10м посту) он выдает ошибку на одной машине 10022, а на другой работает исправно...


Сергей М.   (2007-10-22 14:24:00) [18]


> тестировал на одном компе


Даже если ты победишь эту ошибку, в "боевых" условиях твоя программа все равно работать как положено не будет.


Sergl   (2007-10-22 14:23:00) [19]


> Убирай нафих этого Кошмарского - он еще и не такую свинью
> может подложить.


Убрал. Все попрежнему...


Sergl   (2007-10-22 14:21:00) [20]


> Как же ты "отправлял файлы по сети", если не можешь найти
> ни одного сет.подключения в Окружении ?

тестировал на одном компе.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо