![]() |
ЛЮДИ ПОМОГИТЕ В Delphi
:( Такая проблема, пытаюсь сам сделать на Delphi свой сервер по принцыву тоя на основе Socket-ов и функией SendText чтобы посылать команы серверу...
Но вот проблема вылитает ошибка соединения и ошибка передачи или приёма команды. Чедалеть подскажите... |
Постарайся подробнее объяснить... Ip было прописано или надо вводить в поле? Вообще кинь код.
И я не понял, он не соединяется или не отправляет команды? Или ты не знаешь что именно? Вообщем у меня такая же трабла была... Я где то нашел хороший FAQ на тему создания соединений в delphi... Щас если сайт вспомню напишу. Там ещё примеров куча бы ла |
Дай сорс посомтрю помогу чем нить думаю.
Тока не понял ты посылаешь команды серверы чтоли и он при определнной команде должен выполнять что нибудь да? |
Через какой порт работаешь?
|
Пишу отельно сервак, порт оптономный выбрал сам port=2581 и после запускю сервер, он работает, на соединение отвечает и дает произвести connect, но как только отправляю ему какую либо команду вот что получается:
--- От сервера : Asinchronous Socket Error 10053. --- -- От клиента: Windows Soxket Error :Запрос на отправку или получение данных ( When sending on a dategrem socket using a sendto call) no addres wes suppied (10057), no API 'recv'. --- Вот такая загогулина... |
Цитата:
Что означает, как я понял, что соединение было сброшено ещё до установки, например неправильно отреагировал сервер на фрейм SYN, или чтото подобное. Скорее всего - у тебя это происходит из-за того что супер классные делфи-кодеры из компании Borland в своих классах Socket намутили чтото с асинхронными неблокирующими сокетами, возможно не использована select(). Используй обычный интерфейс WinSocket и у тебя все будет нормально (ну насчет в делфи незнаю, но по нормальному все должно быть ок)) А вообще, мастерите на делфи! У вас тоже такие же офигенные программы будут) хаха |
Ну вот простейший пример:
...Form1.Create... begin ServerSocket1.port:=...; ServerSocket1.Action:=true; end; ...ServerSocket1.ClientRead... begin if serverSocket1.Socket.ReciveText='...' then ...; Что в простейшем сервере нетак????? И слиент к серваку тоже простейший: ...form1.Button1.click... begin ClientSocket1.host... clientSocket1.addres... ClientSocket1.Action:=treu; end; ...form1.Button2.click... ClisentSocket1.Socket.SandText:='...'; и что тут нетак??? |
Может у тебя фаер порт закрывает?
|
Нет я пробовал его просто намертво отрубать... и всеравно нефига, что телать незна.
НО ФАКТ НЕЧЕГО НЕРАБОТАЕТ!! |
Запусти обе проги (клиент и сервер) на своем компе и укажи Ip 127.0.0.1 и проверь. Если будет та же ошибка, значит у тебя че-то с кодом
|
Да бывают такие траблы в дельфи сам лично сталкивался и не раз.
Как то помню чо от мутил и этой фени больше не было, но щас убей не помню. |
Спасибо попробуем...
|
[B]Сделал как посоветовали, и получил результат...
как я уже писал рание только Socket Error 10061... Есть мысли или идеи... уменя пока нет.... вот нашел статью про подобный случай, перечитайте и сажите могу ли я этим воспользоватся???? Вот статья : http://www.forum.antichat.ru/thread15440.html |
Нелюблю когда мои посты нехрена не замечают... Зачем вообще что-то на форуме писать?
Описал уже миллион раз из-за чего это и что надо делать... нет... все прошло незамеченым |
Цитата:
2 Bill: Убедись что ClientType у TClientSocket'а == ctNonBlocking. - Цитата:
|
Да, намутили, что называется там разработчики... Неужели не проще взять ОБЫЧНЫЕ Windows-сокеты ?
Чем ставить у каких-то псевдо-надуманых объектов типа Цитата:
|
Цитата:
- Цитата:
|
| Время: 02:07 |