Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.09;
Скачать: CL | DM;

Вниз

Проблема с ClientSocket   Найти похожие ветки 

 
Mouse   (2003-12-30 17:09) [0]

Кинул на форму ClientSocket пару кнопок и Edit

Вот мой код:

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Form1.Edit1.Text:="Connected";
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Form1.Edit1.Text:="Disconnected";
Form1.ClientSocket1.Active:=False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.ClientSocket1.Active:=true;
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
Form1.Edit1.Text:="Error";
Form1.ClientSocket1.Active:=false;
end;

procedure TForm1.ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
Form1.Edit1.Text:="trying to connecting";
end;


Adress: 127.0.0.1
Port: 12345

В итоге при нажатии кнопки Connect (Button1) У меня в Edit-е сначала пишеться trying to connecting (так и надо) а потом моя программа вылетает со следующей ошибкой:
"Project Client.exe raised exeption class ESocketError with message "Asynchronous socket error 10061". Process stopped"

Что ето может быть?

Ясное дело сервер у меня не запушен и я жду чтобы он просто в Edit написал Error, но я совсем не жду чтобы программа вылетала с ошибкой!

Помогите пожалуйста! Спасибо!


 
Rouse_   (2003-12-30 17:13) [1]

procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
Form1.Edit1.Text:="Error";
Form1.ClientSocket1.Active:=false;
ErrorCode := 0;
end;


Желаю успехов


 
Mouse   (2003-12-30 17:23) [2]


> Rouse_

Огромное спасибо - уже пишет просто Error в Edit-е!

У меня еще есть пару вопросов:

Где можно почитать про различные варианты ErrorCode! Желательно значение кода ошибки и его описание!

Чем отличаеться ClientSocket.Active:=true от ClientSocket.Open
а также сколько можно "открыть" сокетов с помошью СlientSocket.Open и как узнать сколько открыто?
Если я чушь несу - то обьясните пожалуйста в чем "чушь"!

Также я слышал что надо коннектиться к серверу с помошью блока try / exept... а как именно надо?

Заранее спасибо!


 
Fredericco   (2003-12-30 17:37) [3]

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Form1.Edit1.Text:="Disconnected";
Form1.ClientSocket1.Active:=False;
end;

Лишнее


> Чем отличаеться ClientSocket.Active:=true от ClientSocket.Open

Результат один и тот же.


> а также сколько можно "открыть" сокетов с помошью СlientSocket.Open
>

65536
На каждый сокет свой объект TClientSocket.

Если выбран режим работы сокета ctNoBlocking, метод Open может вызвать исключение, если не возможно создать объект "сокет" (да поправит меня Digitman:-))

ЗЫ. С наступающим!

В данном примере, я бы использовал что-нить типа TMemo.Add, так как легче прослеживается последовательность событий.


 
Pat   (2003-12-30 21:01) [4]

>Где можно почитать про различные варианты ErrorCode
MS SDK Help Files\Windows Sicket 2 reference\Error Codes


 
SergP   (2003-12-31 21:05) [5]


> Где можно почитать про различные варианты ErrorCode


Да оно в принципе в хелпе у Д5 есть. Правда в Д6 почему-то его уже нет...



Страницы: 1 вся ветка

Текущий архив: 2004.03.09;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.008 c
6-25844
asdqwer
2003-12-29 18:19
2004.03.09
WebBrowser.Document.All.Tags


14-25863
ChuhCan
2004-02-16 22:04
2004.03.09
Загрузчик с дискеты.


14-25908
Lapor
2004-02-14 22:29
2004.03.09
Глюки TWebBrowser


1-25755
Cosinus
2004-02-26 13:11
2004.03.09
Конвертация данных на лету (TMemoryStream)


14-25885
Andryk
2004-02-12 11:45
2004.03.09
Давайте еще раз пообсуждаем наш закон об ОСАГО





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский