|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rbDima Tпропущено... Я так подозреваю что все циклы и прочий "мусор" спрятаны внутри этих функций. Подобные вещи не стандартизированы, поэтому за пределами твоего Indy это не работает и надо разбираться как оно реально устроено в Indy. Сделай WriteStrings() двух строк "123" и "abc", прими recv() все что придет, запиши в файл и выложи сюда этот файл. Для небольших сообщений, менее 2 Кб все прекрасно работает, т.к. это сообщения помещаются в один пакет. Проблема начинается при приеме больших сообщений, т.к. протокол разбивает их на пакеты. Ты хочешь проблему решить или доказать что она нерешаемая? Если первое - сделай то что я попросил сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:55 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovSergey_rbПроблема начинается при приеме больших сообщений, т.к. протокол разбивает их на пакеты. Да, именно так работает TCP и именно это тебе твердят с самого начала. Но до тебя никак не доходит. Видимо, твой мозг работает по UDP. Да не разбивает он ничего, не дури голову парню... И так плохо с этим. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:55 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rb1. Смотрел, там сначала берется количество строк, затем они считываются. Считываются... Во WriteStrings... Ага... Ты, походу, совсем безнадёжен. Sergey_rb2. Я писал, что использую протокол HTTP? ДА. Прямо тут: Sergey_rbискать два переноса строк подряд Или ты не понимаешь даже то, что пишешь?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:57 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rb Для небольших сообщений, менее 2 Кб все прекрасно работает, т.к. это сообщения помещаются в один пакет. Проблема начинается при приеме больших сообщений, т.к. протокол разбивает их на пакеты. Никто никуда ничего не разбивает. ТЫ ЭТО ДЕЛАЕШЬ САМ! Вот твой код: Код: plaintext 1.
Прочитай про третий параметр функции recv . ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:58 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dima TSergey_rbпропущено... Для небольших сообщений, менее 2 Кб все прекрасно работает, т.к. это сообщения помещаются в один пакет. Проблема начинается при приеме больших сообщений, т.к. протокол разбивает их на пакеты. Ты хочешь проблему решить или доказать что она нерешаемая? Если первое - сделай то что я попросил сделать. Запрос на сервер автор0|CONNECT| Получено с сервера автор607|Подключено| ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:59 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, MasterZiv. На 99% уверен что в его Indy встроенный самопальный протокол передачи набора строк. Не зря же WriteString s ()/ReadString s () Осталось увидеть что там в реале идет и будет все понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:59 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
MasterZivSergey_rbДля небольших сообщений, менее 2 Кб все прекрасно работает, т.к. это сообщения помещаются в один пакет. Проблема начинается при приеме больших сообщений, т.к. протокол разбивает их на пакеты. Никто никуда ничего не разбивает. ТЫ ЭТО ДЕЛАЕШЬ САМ! Вот твой код: Код: plaintext 1.
Прочитай про третий параметр функции recv . Размер буфера 10*1024, данных приходит максимум 5*1024 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:00 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rbDima Tпропущено... Ты хочешь проблему решить или доказать что она нерешаемая? Если первое - сделай то что я попросил сделать. Запрос на сервер автор0|CONNECT| Получено с сервера автор607|Подключено| Я это просил? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:00 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovSergey_rb2. Я писал, что использую протокол HTTP? ДА. Прямо тут: Sergey_rbискать два переноса строк подряд Или ты не понимаешь даже то, что пишешь?.. Дима, ну нет же, не писал он это. А одной пустой строкой во многих протоколах можно данные отделять (POP3 например), в том числе, в своём собственном. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:00 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rbMasterZivпропущено... Никто никуда ничего не разбивает. ТЫ ЭТО ДЕЛАЕШЬ САМ! Вот твой код: Код: plaintext 1.
Прочитай про третий параметр функции recv . Размер буфера 10*1024, данных приходит максимум 5*1024 Значит, они просто не посылаются в таком объёме (10k) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:01 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dima TDimitry Sibiryakov, MasterZiv. На 99% уверен что в его Indy встроенный самопальный протокол передачи набора строк. Не зря же WriteString s ()/ReadString s () Осталось увидеть что там в реале идет и будет все понятно. Strings в Делфи - это набор строк, что-то вроде вектора в C++ ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:01 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
MasterZivSergey_rbпропущено... Размер буфера 10*1024, данных приходит максимум 5*1024 Значит, они просто не посылаются в таком объёме (10k) Данные могут приходит в любом объеме, начиная от одного символа. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:03 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rbStrings в Делфи - это набор строк, что-то вроде вектора в C++Тайна третьей планеты- Человек - царь природы - Только звери об этом не знают - они неграмотныеЭто я к тому, что поток байтов не в курсе про векторы, дельфи и кресты. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:03 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
надо Код: plaintext 1. 2. 3. 4.
затем result.bin выложить сюда ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:03 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rbDima TDimitry Sibiryakov, MasterZiv. На 99% уверен что в его Indy встроенный самопальный протокол передачи набора строк. Не зря же WriteString s ()/ReadString s () Осталось увидеть что там в реале идет и будет все понятно. Strings в Делфи - это набор строк, что-то вроде вектора в C++ Это пофиг. TCP - это поток байт, а какой логический смысл в этих байтах для TCP без разницы. Сделай прием короткого сообщения как я выше написал 21691688 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:08 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dima TSergey_rbпропущено... Strings в Делфи - это набор строк, что-то вроде вектора в C++ Это пофиг. TCP - это поток байт, а какой логический смысл в этих байтах для TCP без разницы. Сделай прием короткого сообщения как я выше написал 21691688 Какой в С++ аналог ExtractFileDir(ParamStr(0))? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:11 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dima TНа 99% уверен что в его Indy встроенный самопальный протокол передачи набора строк. Не зря же WriteStrings()/ReadStrings() В моей версии инди таких функций вообще нет. Точнее они есть, но только как приватные в FTP компонентах и они отсылают TStrings.Text как есть. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:11 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
По-моему аффтар уже слился до тупого троллинга. Мастер, закрывай топик. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:12 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Вот тот самый пакет, который принят не до конца Код: plaintext 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. 61. 62. 63. 64. 65. 66. 67.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:16 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Видно, что последняя строка выгружена не вся Перевода строки тоже нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:19 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rbВидно, что последняя строка выгружена не вся Перевода строки тоже нет. Мдя ... :( Сложно это сделать 21691688 на маленьком сообщении? которое целиком приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:26 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПо-моему аффтар уже слился до тупого троллинга. Мастер, закрывай топик. Дайте ему шанс. Аффтар похоже просто в истерике из-за непонимания что реально происходит. Я бы посоветовал просто проспаться и утром продолжить. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:31 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Sergey_rbDima Tпропущено... Это пофиг. TCP - это поток байт, а какой логический смысл в этих байтах для TCP без разницы. Сделай прием короткого сообщения как я выше написал 21691688 Какой в С++ аналог ExtractFileDir(ParamStr(0))? Посмотри на параметры своей стартовой функци. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 18:33 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Dima TSergey_rbВидно, что последняя строка выгружена не вся Перевода строки тоже нет. Мдя ... :( Сложно это сделать 21691688 на маленьком сообщении? которое целиком приходит. Завтра сделаю ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 19:10 |
|
recv выход из цикла
|
|||
---|---|---|---|
#18+
Завтра еще поищи исходник WriteStrings(). Если это правда 21691701 , то это функция из какой-то твоей внутренней либы. Возможно досталась тебе как часть наработок твоего предприятия. Найдешь - выкладывай сюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 19:24 |
|
|
start [/forum/topic.php?fid=57&msg=39711181&tid=2017750]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 150ms |
0 / 0 |