|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.07.2012, 02:04 | #1 |
Форумчанин
Регистрация: 19.04.2009
Сообщений: 368
|
Ошибка в программе [Delphi 7] при передаче данных - "socket error"
Всем доброго времени суток. Написал программу, которая при подключение получает и отправляет некоторые данные, затем на основе этих данных делает запись в бд mysql.
Выдаются такие ошибки - asynchronous socket error 10053 - Window socket error: удаленный хост принудительно разорвал существующее подключение 10054, on 'API' send - [Mysql][ODBC 5.1 Driver][mysql 5.5.25a] server has gone away При возникновении этих ошибок, программа перестаёт работать ... Как я понимаю, основная проблема - это первая ошибка. Программа не может работать с потоком пользователей ... По поводу 2ой - вообще догадок нет, что это могло быть ... 3ая - Видимо соединение пропало с базой mysql Код:
Код:
Кто может помочь, сделать так, чтобы программа смогла работать с несколькими пользователями и перестала выдавать ошибку (asynchronous socket error 10053) Последний раз редактировалось -Jack-; 17.07.2012 в 02:18. |
17.07.2012, 03:39 | #2 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Вы как-то не правильно данные отправляете, либо не правильно организовали работу программы с несколькими юзерами. Хотя 1 более вероятно т.к. рвется соединение при отправке данных а не при сообщении нескольких юзеров. В любом случае, то что я сказал, это перевел цитированный сабж с MSDN на русский. Берите сниффер(Wireshark в гугле находится.) в руки и шерстите отправку.. |
|
17.07.2012, 03:46 | #3 | |
Форумчанин
Регистрация: 19.04.2009
Сообщений: 368
|
Цитата:
в том то и дело - что я указал в первом посте это основная часть программы ... и никакой организации работы с несколькими пользователями нет ... Последний раз редактировалось -Jack-; 17.07.2012 в 03:54. |
|
17.07.2012, 04:01 | #4 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Поищите исходники чатов на delphi, самых простых.. там будет многопользовательский во всей красе. |
|
18.07.2012, 05:13 | #5 |
Форумчанин
Регистрация: 19.04.2009
Сообщений: 368
|
Вопрос может быть глупый, но всё же ... Вопрос тоже по сокетам, поэтому решил новый топик не создавать ...
На нажатии на кнопку, при выполнении некоторых условий выполняется активация сокета Код:
Код:
Вопрос такой, может ли программа не получив данные с сервера взять и запустить процесс ? Или будет выполняться последовательно: сначала получим данные, потом запустим процесс? |
18.07.2012, 05:46 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
код выполняется последовательно, но проблема в том что TCP это потоковый протокол, и вы можете получить таким методом больше или меньше данных чем надо(например часть строки или две склеенные строки)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
18.07.2012, 05:57 | #7 |
Форумчанин
Регистрация: 19.04.2009
Сообщений: 368
|
Вот почему мне пользователи мозг вскрывают, что у них ерунда приходит ... И что делать в этой ситуации ?
Последний раз редактировалось -Jack-; 18.07.2012 в 06:44. |
18.07.2012, 07:29 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Использовать ИНДИ или Синапс. Там проблема склейки протоколов решена. Или читать что-то типа:
http://delphiworld.narod.ru/base/soc...ne_blocks.html http://delphiworld.narod.ru/base/get_packages.html http://delphiworld.narod.ru/base/long_data_blocks2.html http://delphiworld.narod.ru/base/long_data_blocks.html
I'm learning to live...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка в TCPClient1 -> Socket Error # 10060 | k_root | Работа с сетью в Delphi | 4 | 30.01.2012 20:08 |
Ошибка при передаче по ссылке | N-Cat | Помощь студентам | 4 | 10.05.2011 01:24 |
Ошибка в передаче данных | Krasi | PHP | 3 | 01.05.2011 17:15 |
Ошибка Socket Error # 10061 Connection Refused !!! | $T@LKER | Работа с сетью в Delphi | 0 | 06.09.2010 21:28 |
Ошибка сетевого приложения Asynchronous socket error 10060 | Glorius | Свободное общение | 7 | 22.03.2009 12:19 |