ЛЮДИ ПОМОГИТЕ В Delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Bill, 18 Mar 2006.

  1. Bill

    Bill New Member

    Joined:
    18 Mar 2006
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -7
    :( Такая проблема, пытаюсь сам сделать на Delphi свой сервер по принцыву тоя на основе Socket-ов и функией SendText чтобы посылать команы серверу...
    Но вот проблема вылитает ошибка соединения и ошибка передачи или приёма команды. Чедалеть подскажите...
     
    1 person likes this.
  2. PEPSICOLA

    PEPSICOLA . . . . . 2L . . . . .

    Joined:
    14 Oct 2004
    Messages:
    1,025
    Likes Received:
    823
    Reputations:
    368
    Постарайся подробнее объяснить... Ip было прописано или надо вводить в поле? Вообще кинь код.

    И я не понял, он не соединяется или не отправляет команды? Или ты не знаешь что именно?

    Вообщем у меня такая же трабла была... Я где то нашел хороший FAQ на тему создания соединений в delphi... Щас если сайт вспомню напишу. Там ещё примеров куча бы ла
     
  3. Morph

    Morph Пирожок с Маком

    Joined:
    13 Aug 2004
    Messages:
    790
    Likes Received:
    113
    Reputations:
    169
    Дай сорс посомтрю помогу чем нить думаю.
    Тока не понял ты посылаешь команды серверы чтоли и он при определнной команде должен выполнять что нибудь да?
     
  4. gadjet

    gadjet Elder - Старейшина

    Joined:
    17 Dec 2005
    Messages:
    58
    Likes Received:
    18
    Reputations:
    2
    Через какой порт работаешь?
     
  5. Bill

    Bill New Member

    Joined:
    18 Mar 2006
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -7
    Пишу отельно сервак, порт оптономный выбрал сам 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'.
    ---

    Вот такая загогулина...
     
  6. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Вообще 10053 - по WINERROR.H - WSAECONNABORTED (WSABASEERR+53)
    Что означает, как я понял, что соединение было сброшено ещё до установки, например неправильно отреагировал сервер на фрейм SYN, или чтото подобное.
    Скорее всего - у тебя это происходит из-за того что супер классные делфи-кодеры из компании Borland в своих классах Socket намутили чтото с асинхронными неблокирующими сокетами, возможно не использована select(). Используй обычный интерфейс WinSocket и у тебя все будет нормально (ну насчет в делфи незнаю, но по нормальному все должно быть ок))

    А вообще, мастерите на делфи! У вас тоже такие же офигенные программы будут)
    хаха
     
  7. Bill

    Bill New Member

    Joined:
    18 Mar 2006
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -7
    Ну вот простейший пример:

    ...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:='...';

    и что тут нетак???
     
  8. gadjet

    gadjet Elder - Старейшина

    Joined:
    17 Dec 2005
    Messages:
    58
    Likes Received:
    18
    Reputations:
    2
    Может у тебя фаер порт закрывает?
     
  9. Bill

    Bill New Member

    Joined:
    18 Mar 2006
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -7
    Нет я пробовал его просто намертво отрубать... и всеравно нефига, что телать незна.

    НО ФАКТ НЕЧЕГО НЕРАБОТАЕТ!!
     
  10. gadjet

    gadjet Elder - Старейшина

    Joined:
    17 Dec 2005
    Messages:
    58
    Likes Received:
    18
    Reputations:
    2
    Запусти обе проги (клиент и сервер) на своем компе и укажи Ip 127.0.0.1 и проверь. Если будет та же ошибка, значит у тебя че-то с кодом
     
  11. Morph

    Morph Пирожок с Маком

    Joined:
    13 Aug 2004
    Messages:
    790
    Likes Received:
    113
    Reputations:
    169
    Да бывают такие траблы в дельфи сам лично сталкивался и не раз.
    Как то помню чо от мутил и этой фени больше не было, но щас убей не помню.
     
  12. Bill

    Bill New Member

    Joined:
    18 Mar 2006
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -7
    Спасибо попробуем...
     
  13. Bill

    Bill New Member

    Joined:
    18 Mar 2006
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -7
    Сделал как посоветовали, и получил результат...
    как я уже писал рание только Socket Error 10061...

    Есть мысли или идеи...

    уменя пока нет....

    вот нашел статью про подобный случай, перечитайте и сажите могу ли я этим воспользоватся???? Вот статья : http://www.forum.antichat.ru/thread15440.html
     
  14. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Нелюблю когда мои посты нехрена не замечают... Зачем вообще что-то на форуме писать?
    Описал уже миллион раз из-за чего это и что надо делать... нет... все прошло незамеченым
     
    1 person likes this.
  15. Raider

    Raider Elder - Старейшина

    Joined:
    2 May 2005
    Messages:
    40
    Likes Received:
    5
    Reputations:
    4
    Delphi кодеры тут не причём, просто Bill наверно перевёл свой сокет в блокирующий режим ...

    2 Bill: Убедись что ClientType у TClientSocket'а == ctNonBlocking.
    -
    Там есть ссылка на прогу которая работает как раз с этими сокетами, проверь будет ли она рабоать у тебя, еслс нет, то хз в чём трабла ...
     
  16. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Да, намутили, что называется там разработчики... Неужели не проще взять ОБЫЧНЫЕ Windows-сокеты ?
    Чем ставить у каких-то псевдо-надуманых объектов типа
    какие-то надуманые левые свойства, когда в реальности этим и не пахнет?
     
  17. Raider

    Raider Elder - Старейшина

    Joined:
    2 May 2005
    Messages:
    40
    Likes Received:
    5
    Reputations:
    4
    Прошу прощенья тут я был не прав.
    -
    Как видишь намутил здесь пока только Я ) Поэтому вопрос по поводу левого св-ва сам собой отпадает, а вообще согласен что обычные Windows сокеты использовать проще.