Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! Пытаюсь написать простой клиент-сервер. Написал на Delphi - Всё нормально, Клиент отправляет небольшой текст на сервер, и принимает строчку ответа от сервера. Но задача написать Клиент на Delphi, а сервер нужен на C#. И тут возникает загвоздка с ответом от сервера. Т.е. сервер всё получает, и даже ответ отправляет, но вот клиент виснет на моменте получения ответа. Код клиента на Delphi: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Код сервера на C#: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. У кого-нибудь есть предложения в чем дело? Я вроде понимаю что может дело в том что нужно читать поток, но не пойму как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2013, 19:35 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Wrun, Отлаживать сервер пробовал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 01:19 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Cobalt747, Что значит отлаживать? Сервер то вроде как раз работает нормально, если не ошибаюсь проблема на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 17:19 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Сколько я в свое время трахался с Indy компонентами... В результате выкину и написал на АПИ. Сейчас народ на меня будет кидаться за пиар (уже 2-й раз в короткое время упоминаю), но есть вот это: http://code.google.com/p/uo-ext/ код на дельфи. С одной стороны - Си приложение, с другой C# сервер. Сама программулина является прокси. Есть возможность как блоировать некоторые сообщения, так и генерировать по внешним признакам. Если коротко, то вам дебажить Indy компоненты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 00:16 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
а мне вот кажется, что код сервера несколько корявый вот этот кусок, к примеру, чем занимаеццо? Код: c# 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 12:37 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдор, А кстати... Аффтор дибил (и я тоже - сразу не увидел), он в реквесте ждет 2 раза CRLF, а посылает - один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 15:47 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Warstone, Либо я совсем, либо мы не то обсуждаем... Это ведь прием от клиента инфы, ну возможно что кол-вом CRLF, ну отвалится по Request.Length А меня обратка интересует, Клиент не принимает инфу от Сервера! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 16:21 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Wrun, Дык, что сервер твой в консоль пишет? Answer есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 16:30 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Cobalt747, В консоли пишет полученный текст от клиента, и пишет ответ отправлен... Причем если подключаться из Браузера - всё работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 16:40 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Wrun, Тебе еще раз, му-у-у-удрому человеку говрят... IdTCPClient1.Socket.WriteLn(send.Text); отдаст только один \r\n и твой сервер ничего делать не будет. Смотреть надо что в сокет пишешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 16:47 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Warstone, Как же мудро, только загвоздка в том, что Сервер делает, и делает НОРМАЛЬНО! Вопрос в другом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 17:18 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Wrun, Пример, только что сделал на Д7+Indy10(r3568) Клиент прям как твой, сервер - на Инди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 09:54 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Cobalt747, Я не понимаю к чему это, в самом первом посте я писал что изначально сделал всё на Delphi, и всё работает. Не работает с сервером на С#, а мне он нужен именно на C#... Причем сервер работает, как я уже неоднократно говорил, к примеру если использовать в качестве Клиента FireFox то всё в порядке.. отсюда я делаю вывод в том, что проблема в Клиенте на Delphi, и именно в месте получения ответа, как я уже это и говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 10:32 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Wrun, Запускаешь Wireshark, и сравниваешь обмен данными клиента с Дельфи-сервером и C#-сервером. Учись отлаживать программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 10:46 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Wrun, Тебе сложно воткнуть 2-й IdTCPClient1.Socket.WriteLn; после первого? Тогда тебе тут не помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 10:47 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Короче... Автор, ты всех задрал. Вот код клиента с Id который работает с твоим сервером. Только что сам проверил. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Код сервера скопипастил с твоего. Или полный код приводишь, или тебе тут не помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 10:55 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Cobalt747, спасибо за Wireshark, не знал - буду учиться! Warstone, спасибо за настойчивость, и правда ведь дебил я... Но я так и не понял как может прием на отправку ответа влиять... Как я понимаю: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. В любом случае всё заработало, еще раз прошу прощение за тупизм! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 10:59 |
|
||
|
TCP Client-Server Delphi-C#
|
|||
|---|---|---|---|
|
#18+
Wrun, У тебя может быть подземный стук... Допустим есть еще один Инди клиент на форме, который подключается туда-же и правильно все отсылает... Ты видишь что он отработал. Что-бы словить глюк надо сделать так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Спорим ты 2 New connection recieved словишь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 11:06 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=38156025&tid=2052912]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 404ms |

| 0 / 0 |
