![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сокеты "сдохли" [D7, WinXP]
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]
> Как же ты "отправлял файлы по сети", если не можешь найти
> ни одного сет.подключения в Окружении ?
тестировал на одном компе.