3 / 3 / 2
Регистрация: 02.07.2013
Сообщений: 31
|
||||||
1 | ||||||
TCPClient виснет при чтении ответа05.08.2014, 11:57. Показов 1727. Ответов 7
Метки нет (Все метки)
Приветствую. Есть что-то непонятное мне в работе программы, суть такая, программа шлет команду по TCP-IP и по идее должна получить ответ, но почему то виснет наглухо. Думаю что-то неверно написал:
Буду признателен за помощь. З.Ы. Так же писались программы на C# & Qt, тоже самое программа виснет.
0
|
05.08.2014, 11:57 | |
Ответы с готовыми решениями:
7
UDP при чтении пакетов виснет форма Программа виснет при чтении ответа TcpClient Windows виснет при чтении / записи DVD Происходит ошибка при чтении ответа клиента в отдельном потоке |
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
05.08.2014, 15:00 | 2 |
Вероятно ответ сервера на данный запрос по протоколу не подразумевает терминирующую строку ответа CRLF-последовательнолсть, в то время как метод ReceiveLn ожидает ее получение, прежде чем вернуть управление.
1
|
3 / 3 / 2
Регистрация: 02.07.2013
Сообщений: 31
|
||||||
05.08.2014, 16:25 [ТС] | 3 | |||||
Я сделал это устройство как COM порт, используя библиотеку COM порта написал код:
0
|
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
05.08.2014, 16:43 | 5 |
Если работает, нужно заглянуть в реализацию ReadAnsiString и убедиться что она не ожидает CR
0
|
3 / 3 / 2
Регистрация: 02.07.2013
Сообщений: 31
|
|
05.08.2014, 17:13 [ТС] | 6 |
0
|
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
05.08.2014, 17:28 | 7 |
Не суть как важно
Важно что если ReadAnsiString не ожидает ни CR, ни LF, ни CRLF, то метод ReceiveLn заведомо не годится, и значит вместо него придется использовать ReceiveBuf
1
|
3 / 3 / 2
Регистрация: 02.07.2013
Сообщений: 31
|
|
05.08.2014, 17:53 [ТС] | 8 |
Спасибо за ответы, завтра продолжим, прогоню дебагером эту функцию, глянул, она там прилично всего вызывает, и есть что-то похожее на ожидание CR.
0
|
05.08.2014, 17:53 | |
05.08.2014, 17:53 | |
Помогаю со студенческими работами здесь
8
DOS виснет на int 13h при чтении MBR жесткого диска почему виснет прога на TcpClient client = server.AcceptTcpClient(); "Нарушение прав доступа при чтении по адресу" при чтении структур из бинарного файла Виснет программа при компиляции, степовер не работает, так же виснет Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |