Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2008, 11:11   #1
One.Love
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 91
По умолчанию Client - Server Socket событие OnError

Помогите плиз народ, вопрос такой:
Как заглушить вывод ошибки с Client или Server Socket?
Я делаю так в OnError

Цитата:
if (ErrorCode=10061) then
ShowMessage('Компьютер недоступен');
А после моего сообщения вылазиит ошибка Asynchrone Socket ну чета наподобие!

Помогите плиз
One.Love вне форума Ответить с цитированием
Старый 19.02.2008, 13:33   #2
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

И почему вылазит эта ошибка? У меня соеденяется с 127.0.0.1 через одинаковый порт с сервером - все равно лажа.
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 19.02.2008, 14:17   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Код показывайте, что флудить-то понапрасну.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 19.02.2008, 16:09   #4
One.Love
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 91
По умолчанию

короче при соединении с другим компом если клиент выключен то вылазиит ошибка 10061, а если есть соединение то все нормально мне надо только заглушить данный еррор и всё как это сделать?

Сам с собой соединяться мне нету смысла
One.Love вне форума Ответить с цитированием
Старый 19.02.2008, 16:41   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Код показывайте, что флудить-то понапрасну.
Пока оного не будет, буду остальное считать флудом.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 23.02.2008, 20:45   #6
One.Love
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 91
По умолчанию

Квэнди:Смотрите пост выше. Это не ресурс медиумов. Показывайте код, в котором возбуждается исключение.

Последний раз редактировалось Квэнди; 23.02.2008 в 20:50.
One.Love вне форума Ответить с цитированием
Старый 24.02.2008, 03:49   #7
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

Это не ответ, но это код:
Код:
procedure TMForm.CSConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
 Chat.Lines.Add(TimeToStr(now)+':Соединение');
 CS.Socket.SendText('/co'+Nic+'|'+Al);
 Sleep(1000);
 CS.Socket.SendText('/re');
 N3.Enabled:=False;
 N4.Enabled:=True;
end;

procedure TMForm.CSConnecting(Sender: TObject; Socket: TCustomWinSocket);
begin Chat.Lines.Add(TimeToStr(now)+':Соединенно') end;

procedure TMForm.CSDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
 Chat.Lines.Add(TimeToStr(now)+':Отключенно');
 CS.Socket.SendText('/di'+Nic+Al);
 OnLine.Clear;
 N3.Enabled:=True;
 N4.Enabled:=False;
 Cs.Active:=False;
end;
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 24.02.2008, 09:36   #8
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Чтобы "заглушить" ошибку нужно обработать OnError. Если ErrorCode установить в 0, исключения не будет возникать.

procedure CSOnError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);

Цитата:
И почему вылазит эта ошибка?
По приведенному куску кода трудно понять. Но если и клиент и сервер на одной форме, может из-за момента когда делается Active := true.
Попробуйте сделать две кнопки. При нажатии первой установите Active := true для сервера, на второй для клиента и запускайте вручную.
alexBlack вне форума Ответить с цитированием
Старый 24.02.2008, 11:59   #9
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

Клиент и сервак - две разные программы.
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 24.02.2008, 13:49   #10
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Используй такой способ, он прост и надёжен!

procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
end;

И никаких ошибок вылазить не будет, есле даже нет соединения, этот код можешь использовать как и в ClientSocket, так и в ServerSocket.
Всегда рад помочь!

Последний раз редактировалось Terran; 24.02.2008 в 13:54.
Terran вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Client-Server на 500+ пользователей. Mixasik Работа с сетью в Delphi 8 22.08.2008 12:01
Помогите разобраться с client-server fLytarget Работа с сетью в Delphi 2 11.08.2008 16:00
Client и Server Роман Радер Работа с сетью в Delphi 11 10.07.2008 15:24
Client Server Socket передача информации с помощью потока One.Love Работа с сетью в Delphi 4 15.01.2008 19:06
Работа Client i Server socket на уровнях модели OSI ilyano Работа с сетью в Delphi 3 31.10.2007 08:40