![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите справиться с тестом сокетов без сети. [D5, WinXP]
Evgenius © (2004-07-28 11:24:00)Я решил написать чат (не совсем, но всё-таки). Мне его надо тестировать без сети. Я ставлю Для ServerSpcket и ClientSocket одинаковый порт Port: 1024, address: 127.0.0.1, а мне комп говорит Windows Socket Error...чё-то там (10049), делаю ассинхронную "передачу"(не ругайте за неправильное слово, я в этой теме ламер:). Подскажите пожалуйста какие свойства еще надо поправить или че изменить в системе может.
Digitman (2004-08-02 08:07:00) [1]
> Evgenius (01.08.04 23:43) [25]
вопросы по БД - в раздел "Базы данных"
Evgenius (2004-08-01 23:45:00) [2]Спасибо большое!!! :-)
C конектом я разобрался. И чат у меня получился.
Только у меня вопрос уже по БД возник. Мне бы терь к этой проге еще БД пристроить как-то надо, я с БД вааще никак не дружу :( Вообщем смысл таков:
Сервер - принимает запросы от клиентов обрабатывает и отсылает ответ.
Клиент - Отсылает запросы принимает ответы от сервера.
Как это всё лучше организовать???
Авторизация пользователей например...
Evgenius (2004-08-01 23:43:00) [3]C конектом я разобрался. И чат у меня получился, мне бы терь к этой проге еще БД пристроить как-то надо, я с БД вааще никак не дружу :( Вообщем смысл таков:
Сервер - принимает запросы от клиентов обрабатывает и отсылает ответ.
Клиент - Отсылает запросы принимает ответы от сервера.
Как это всё лучше организовать???
Авторизация пользователей например...
Digitman (2004-07-29 08:17:00) [4]
> ежели свойство ServerType не изменить на: у сервера-stThereadBlocking,
> а у клиента-ctBlocking, то будет ошибка, т.к. ставится синхронное
> соединение, а мне програмно все это влом описывать, поэтому
> я ставлю ассинхронную передачу...
ты сам понял что сказал ? "будет ошибка, т.к. ставится синхронное соединение" ... какая такая ошибка ? и причем здесь синхронность или асинхронность ? это из другой оперы и не имеет к проблемам коннекта никакого отношения
да и какая нафих "передача" ? до передачи тебе еще как до Китая !
ты сначала с коннектом разберись, а уж потом передавать чего-то там будешь пробовать ...
Evgenius (2004-07-28 19:06:00) [5]Понятно, но практиковаться буду вечером, а о результатах сообщу завтра. Кстати, ежели свойство ServerType не изменить на: у сервера-stThereadBlocking, а у клиента-ctBlocking, то будет ошибка, т.к. ставится синхронное соединение, а мне програмно все это влом описывать, поэтому я ставлю ассинхронную передачу...
Digitman (2004-07-28 17:25:00) [6]
> Evgenius (28.07.04 17:17) [21]
> Свойства SocketClient
> Port 1024
> ServerType ctBlocking
> Service 127.0.0.1
> Host localhost
опять двадцать пять за рыбу деньги !!
ну я же тебе сказал
ServerSocket.Port = 1024
ClientSocket.Address := 127.0.0.1
ClientSocket.Port = 1024
все !! больше ничего не трогай и никаких свойств не назначай (те что не назначены, пусть останутся по-умолчанию) !
повесь на одну кнопку вызов ServerSocket.Open, на другую - ClientSocket.Open
жми первую, убедись исключений не возникает и св-во ServerSocket.Active после ServerSocket.Open стало = True
ТОЛЬКО после этого жми вторую кнопку
о результатах сообщишь ... и никакой отсебячины !
Evgenius (2004-07-28 17:17:00) [7]Свойства SocketClient
Port 1024
ServerType ctBlocking
Service 127.0.0.1
Host localhost
Digitman (2004-07-28 14:58:00) [8]если сервер стартовал (на указанном 1024-м порту) успешно, то уж с настройками TCP, думаю, все в порядке
еще раз уточняй, какие св-ва клиента и какими значениями инициализируешь перед выполнением метода ClientSocket.Open
Evgenius (2004-07-28 14:36:00) [9]Да.
Digitman (2004-07-28 14:21:00) [10]сервер у тебя успешно стартовал ? первым ?
Evgenius (2004-07-28 14:03:00) [11]В книге всё просто написано: ставишь Порт одинаковый для сервера и клиента и одинаковый IP 127.0.0.1 и усе, а про такую проблему ниче нигде не пишут, и про то что настройки TCP надо менять тоже не пишут, но я там все на автоматическое получение вроде ставил...
Evgenius (2004-07-28 14:00:00) [12]А я почем знаю какие они у меня там, ты лучше напиши какие они должны быть... Пожалуста, спасибо. :)
Digitman (2004-07-28 13:53:00) [13]описывай подробно настройки установленного на твоей машине TCP-протокола, привязанного к сет.адаптеру
Evgenius (2004-07-28 13:31:00) [14]Ясно, но я как только не делал и всё безтолку.
Я в этих свойствах уже весь запутался.
А вот текст ошибки:
Windows Socket Error: Требуемый адресс своего контекста неверен(10049) on API 'connect'
Digitman (2004-07-28 13:16:00) [15]
> Evgenius (28.07.04 13:12) [12]
> Service 127.0.0.1 127.0.0.1
с какого перепугу св-ву Service тобой назначается св-во, отражающее IP-адрес ?
оставь его в покое и назначь у обоих компонентов только эти св-ва
Address = '127.0.0.1'
Port = 1024
остальные св-ва не трогай пока
Evgenius (2004-07-28 13:12:00) [16]Server Client
-----------------------------------------------------------------Port 1024 1024
ServerType stThereadBlocking ctBlocking
Service 127.0.0.1 127.0.0.1
Host localhost
А куда вам исходники-то выложить?
Evgenius (2004-07-28 12:33:00) [17]Я не из дома через полчасика все принесу... Вы не куда не разбегайтесь :-) Исходники также выложу.
Digitman (2004-07-28 12:22:00) [18]
> Evgenius (28.07.04 11:58) [9]
вот зря я сразу не глянул в описание ошибки ..
мозги ты нам пудришь ! все что нужно в установках/настройках системного сетевого ПО, у тебя уже есть на машине
WSAEADDRNOTAVAIL (10049) - The specified address is not available from the local machine.
Отказ возникает при выполнении ф-ции winsock.connect()
Если бы протокол TCP был в принципе не установлен в твоей системе, то ты получил бы ошибку WSAEPROTONOSUPPORT (10043)
приводи полный код и точные значения каждого из свойств обоих компонентов
Evgenius (2004-07-28 11:58:00) [19]Как же установить MS LOOPBACK на NT и чё с ней творить я первый раз о таком чуде слыхаю.
Digitman (2004-07-28 11:51:00) [20]
> Anatoly Podgoretsky © (28.07.04 11:47) [6]
я тоже не использовал .. ну можно и его проинсталлить как альтернативу