|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.03.2013, 11:20 | #1 |
Форумчанин
Регистрация: 23.11.2009
Сообщений: 191
|
winsock - теряется часть сообщения
Доброго времени суток. Столкнулся с такой проблемкой:
с клиента посылаю сообщение с текстом "connected" функцией: Код:
Код:
В чем может быть проблема? p.s. использую 2010 Delphi , в старом проекте под Delphi 7 все работает.
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
|
29.03.2013, 12:05 | #2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
А где код сервера в котором выполняется WinSock.recv( возможно там не все данные принимаются а кусками, буфер нужно правильно делать для приема иначе он кусками будет, вот эти куски нужно собрать, а потом работать уже с полным буфером.
Еще покажите код как строиться передача сообщения видимо через SendMessage И еще попробуйте так Код:
И почему бы вам не передавать сразу в записи текст примерно так Код:
Код:
Последний раз редактировалось Aliens_wolfs; 29.03.2013 в 12:57. |
29.03.2013, 13:29 | #3 |
Форумчанин
Регистрация: 23.11.2009
Сообщений: 191
|
вот полная функция, именно приема (как я понял) ...
Код:
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
|
29.03.2013, 15:53 | #4 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Еще может быть проблема в переменных, Pchar в Delphi10 это PAnsiChar в приеме
|
29.03.2013, 16:06 | #5 |
Форумчанин
Регистрация: 23.11.2009
Сообщений: 191
|
Я уже все вариации типов перепробовал... Разница между PChar и PAnsiChar в этом случае, дают примерно такой результат:
Отправляю слово: connected (типа string) Приходит: PChar - 'conn□□' PAnsiChar - 'c□o□n□n□e' примечательно то что во втором случае, количество символов соблюдается, но сами символы теряются ...
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
|
30.03.2013, 20:53 | #6 |
Форумчанин
Регистрация: 23.11.2009
Сообщений: 191
|
Немного сдвинулся с места, сделал одинаковый тип PAnsiChar и для отправки и для приема(точнее пост обработки, после приема), в результате приходит то что нужно, но дополнительно с каким то мусором ... т.е. отправляю например: connected, а приходит : connectedpoe ... и так каждый раз, для разных сообщений разный мусор в конце появляется ... из за чего потом в функции GetMem() появляется переполнение памяти ...
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
|
30.03.2013, 21:32 | #7 |
Форумчанин
Регистрация: 23.11.2009
Сообщений: 191
|
Обнаружил сейчас такую аномальную штуку:
если отправлять 7 байт (Connect) - все нормально отправляет, и получает если отправить от 8 до 12 (connecte, connected ...) - то появляются дополнительные символы, которые дополняют до 12, т.е. если отправили 8, то приходит 8 те что отправили и плюс 4 с потолка, если отправили 9, то 3 с потолка...
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
|
01.04.2013, 09:14 | #8 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Попробуйте это, правда я незнаю для чего вам столько много масивов записей нужно, но оставил, лишь изменил цикл:
Код:
Последний раз редактировалось Aliens_wolfs; 01.04.2013 в 09:28. |
01.04.2013, 09:38 | #9 |
Форумчанин
Регистрация: 23.11.2009
Сообщений: 191
|
вот мой мини проект (без ваших дополнений), на данный момент вроде как принимаю и отправляю сообщения. Хотелось бы чтоб посмотрел на код более опытный человек
Исходники.rar
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
|
01.04.2013, 10:07 | #10 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Программа клиент тоже выложи, там тоже нужно проверять, немного подправил.
Последний раз редактировалось Aliens_wolfs; 01.04.2013 в 10:17. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
быстродействие запуска теряется и размер проекта немножко больше стает | beegl | Общие вопросы Delphi | 2 | 05.01.2013 21:51 |
Office.Interop.Word Find.Execute Method теряется форматирование | Squash_ | Microsoft Office Word | 0 | 09.08.2011 12:23 |
Label при запуске приложения текст теряется | pavellyba | Общие вопросы Delphi | 4 | 04.04.2011 00:44 |
теряется жосткий диск. | podujanin | Помощь студентам | 18 | 03.06.2010 22:12 |
Часть фона одним цветом а другая часть другим (без таблиц). | Lanselot | HTML и CSS | 4 | 25.04.2008 18:41 |