Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибки клиент-сервера, пишу автопоиск в своей программе 
:(
    Опции темы
JoKeR13
Дата 27.7.2007, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Драствуйте уважаемые у меня проблемка наверно не большая. Значит так: у меня клиент-серверное приложение нужно сделать автопоиск но когда адрес не вернуй тоесть на котором не запущен сервер вылетает стандартная ошибка я не опытный прошу подсказать как написать обработчик для этой ошибки или для ошибки если в качестве адреса предлогаеться набор символов если адресс ввел пользователь например "ыуаывны" Спасибо большое с нетерпением жду ответа!!! 
PM MAIL   Вверх
JoKeR13
Дата 27.7.2007, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Ну не ужели никто не знает, до этого на все вопросы находил ответы а вашем форуме а тут молчек, помогите пожалуйста!!!!!
PM MAIL   Вверх
MetalFan
Дата 28.7.2007, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



учись задавать вопросы так, чтобы на них было приятно отвечать!
хоть бы указал, каким способом связь соединение осуществляется...



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
JoKeR13
Дата 1.8.2007, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Извените подумал что обработчики ошибок пишуться везде одинаково.
В своей программе я использую компоненты TClientSocket и TServerSocket соответственно, нужно написать обработчики для следующий ошибкок:

Цитата
 Windows socket error: Сделана попытка выполнить операцию на сокете для недоступного хоста (10065), on API 'connect' 
 - Вылетает если введен не верный или не доступный адрес. Хотелось бы чтоб вместо этой ошибки клиент просто прерывал попытку соеденеия и не выводил отчет об ошибке на экран.

Цитата

 Windows socket error: Требуемый адрес для своего контекста неверен (10049), on API 'connect'
 - Происходет при вводе не допустимого для IP значения например текста. Хотелось бы чтобы вместо этого не каму не понятного сообшения было чтонить типа Showmessage ('Введен не допустипый адрес') 

Заранее благодарен!!!
PM MAIL   Вверх
Sanchezzz
  Дата 1.8.2007, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



так веть есть свойство
TForm1.ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
Memo1.Lines.Insert(0,'Client error. Code = '+IntToStr(ErrorCode));// встовляем сообщение в строку. 
ErrorCode:=0;//не выдает системное сообщение об ошибке то есть пропускает мимо ушей. 
делаешь перебор ошибок там их немного в каком то модуле они все описаны если совпадает то выводишь

а это скромный падарок вроде все ошибки!!!
Код

{ Перечень ошибок:

  WSABASEERR              = 10000;
  WSAEINTR                = (WSABASEERR+4)      Interrupted system call
  WSAEBADF                = (WSABASEERR+9)      Bad file number
  WSAEACCES               = (WSABASEERR+13)     Permission denied
  WSAEFAULT               = (WSABASEERR+14)     Bad address
  WSAEINVAL               = (WSABASEERR+22)     Invalid argument
  WSAEMFILE               = (WSABASEERR+24)     Too many open files
  WSAEWOULDBLOCK          = (WSABASEERR+35)     Operation would block
  WSAEINPROGRESS          = (WSABASEERR+36)     Operation now in progress
  WSAEALREADY             = (WSABASEERR+37)     Operation already in progress
  WSAENOTSOCK             = (WSABASEERR+38)     Socket operation on non-socket
  WSAEDESTADDRREQ         = (WSABASEERR+39)     Destination address required
  WSAEMSGSIZE             = (WSABASEERR+40)     Message too long
  WSAEPROTOTYPE           = (WSABASEERR+41)     Protocol wrong type for socket
  WSAENOPROTOOPT          = (WSABASEERR+42)     Protocol not available
  WSAEPROTONOSUPPORT      = (WSABASEERR+43)     Protocol not supported
  WSAESOCKTNOSUPPORT      = (WSABASEERR+44)     Socket type not supported
  WSAEOPNOTSUPP           = (WSABASEERR+45)     Operation not supported on socket
  WSAEPFNOSUPPORT         = (WSABASEERR+46)     Protocol family not supported
  WSAEAFNOSUPPORT         = (WSABASEERR+47)     Address family not supported by protocol family
  WSAEADDRINUSE           = (WSABASEERR+48)     Address already in use
  WSAEADDRNOTAVAIL        = (WSABASEERR+49)     Can't assign requestes address
  WSAENETDOWN             = (WSABASEERR+50)     Network is down
  WSAENETUNREACH          = (WSABASEERR+51)     Network is unrechable
  WSAENETRESET            = (WSABASEERR+52)     Network dropped connection on reset
  WSAECONNABORTED         = (WSABASEERR+53)     Software caused connection abort
  WSAECONNRESET           = (WSABASEERR+54)     Connection reset by peer
  WSAENOBUFS              = (WSABASEERR+55)     No buffer space available
  WSAEISCONN              = (WSABASEERR+56)     Socket is already connected
  WSAENOTCONN             = (WSABASEERR+57)     Socket is not connected
  WSAESHUTDOWN            = (WSABASEERR+58)     Can't send aftersocket shutdown
  WSAETOOMANYREFS         = (WSABASEERR+59)     Too many references: can't splice
  WSAETIMEDOUT            = (WSABASEERR+60)     Connection timed out
  WSAECONNREFUSED         = (WSABASEERR+61)     Connection refused
  WSAELOOP                = (WSABASEERR+62)     Too many levels of symbolic links
  WSAENAMETOOLONG         = (WSABASEERR+63)     File name too long
  WSAEHOSTDOWN            = (WSABASEERR+64)     Host is down
  WSAEHOSTUNREACH         = (WSABASEERR+65)     No route to host
  WSAENOTEMPTY            = (WSABASEERR+66)     Directory not empty
  WSAEPROCLIM             = (WSABASEERR+67)     Too many processes
  WSAEUSERS               = (WSABASEERR+68)     Too many users
  WSAEDQUOT               = (WSABASEERR+69)     Disc quota exceeded
  WSAESTALE               = (WSABASEERR+70)     Stale NFS file handle
  WSAEREMOTE              = (WSABASEERR+71)     Too many levels of remote in path
  WSASYSNOTREADY          = (WSABASEERR+91)     Network sub-system is unusable
  WSAVERNOTSUPPORTED      = (WSABASEERR+92)     Winsock DLL cannot support this application
  WSANOTINITIALISED       = (WSABASEERR+93)     Winsock not initialized
  WSAHOST_NOT_FOUND       = (WSABASEERR+1001)   Host not found
  WSATRY_AGAIN            = (WSABASEERR+1002)   Non-authoritative host not found
  WSANO_RECOVERY          = (WSABASEERR+1003)   Non-recoverable error
  WSANO_DATA              = (WSABASEERR+1004)   No Data }


Это сообщение отредактировал(а) Sanchezzz - 1.8.2007, 23:42


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
JoKeR13
Дата 3.8.2007, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Спасибо вроде все так, но я не понял где указываеться код ошибки для которой ErrorCode:=0 (тоесть о которой не нужно оповещать) 
Цитата
делаешь перебор ошибок
 каким образом? заранее благодарен!

Это сообщение отредактировал(а) JoKeR13 - 6.8.2007, 14:31
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.