Russian Qt Forum
Ноябрь 25, 2024, 08:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
при отправке сообщения сервер закрывается(Tcp_Network)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: при отправке сообщения сервер закрывается(Tcp_Network) (Прочитано 7694 раз)
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
при отправке сообщения сервер закрывается(Tcp_Network)
«
:
Февраль 16, 2023, 14:45 »
решено решено решено решено решено решено решено решено решено решено решено решено
решено решено решено решено решено решено решено решено решено решено решено решено
решено решено решено решено решено решено решено решено решено решено решено решено
решено решено решено решено решено решено решено решено решено решено решено решено
git:
server:
https://github.com/SpeechKingV/Tcp_server
client:
https://github.com/SpeechKingV/Tcp_Client
сервер закрывается, а в выводе строки кторая появляется если закрыть программу через
деспетчер задач
:
14:54:12: Запускается F:\Qt_project\5.0.2\lesons\Book\TCP_server\build-TCP_server-Desktop_Qt_5_12_12_MinGW_64_bit-Debug\debug\TCP_server.exe ...
14:54:37: Программа неожиданно завершилась.
14:54:37: Процесс был завершён принудительно.
14:54:37: F:\Qt_project\5.0.2\lesons\Book\TCP_server\build-TCP_server-Desktop_Qt_5_12_12_MinGW_64_bit-Debug\debug\TCP_server.exe аварийно завершился.
и есть полученый сигнал при дебаге сервера:
Wiki:
https://ru.wikipedia.org/wiki/SIGSEGV
«
Последнее редактирование: Февраль 20, 2023, 17:01 от Noize_programmer
»
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #1 :
Февраль 16, 2023, 15:43 »
настрой отладчик чтоб работал у тебя, через него сразу найдешь в каком месте проблема
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #2 :
Февраль 16, 2023, 18:29 »
Цитата: kambala от Февраль 16, 2023, 15:43
настрой отладчик чтоб работал у тебя, через него сразу найдешь в каком месте проблема
как настроить(с отладчиком в Qt почти незнаком)
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #3 :
Февраль 16, 2023, 23:31 »
не знаю, почитать документацию / поискать в интернете. отладчик к собственно Qt не имеет отношения.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #4 :
Февраль 18, 2023, 15:40 »
Цитата: kambala от Февраль 16, 2023, 23:31
не знаю, почитать документацию / поискать в интернете. отладчик к собственно Qt не имеет отношения.
вот отладка1:
этого файла нет в пректе
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #5 :
Февраль 18, 2023, 15:41 »
Цитата: kambala от Февраль 16, 2023, 23:31
не знаю, почитать документацию / поискать в интернете. отладчик к собственно Qt не имеет отношения.
вот отладка2:
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #6 :
Февраль 18, 2023, 16:09 »
Ну, падает то понятно почему.
В строке
QTcpSocket* pClientSoket = m_ptcpServer->nextPendingConnection();
неплохо бы проверять указатель, прежде чем использовать.
У вас pClientSoket получается нулевым - понятно, что всё упадёт.
Об этом даже в мануале написано "nullptr is returned if this function is called when there are no pending connections."
Записан
Digital Art
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #7 :
Февраль 18, 2023, 16:17 »
Цитата: tux от Февраль 18, 2023, 16:09
Ну, падает то понятно почему.
В строке
QTcpSocket* pClientSoket = m_ptcpServer->nextPendingConnection();
неплохо бы проверять указатель, прежде чем использовать.
У вас pClientSoket получается нулевым - понятно, что всё упадёт.
Об этом даже в мануале написано "nullptr is returned if this function is called when there are no pending connections."
и что с этим делать?
проинецелизировать еденицей?
(начал писать сервер чисто на с++ в visual studio пока не разберусь с этим, да и ктому же это и полезно)
«
Последнее редактирование: Февраль 18, 2023, 16:18 от Noize_programmer
»
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #8 :
Февраль 18, 2023, 16:26 »
Цитата: Noize_programmer от Февраль 18, 2023, 16:17
Цитата: tux от Февраль 18, 2023, 16:09
Ну, падает то понятно почему.
В строке
QTcpSocket* pClientSoket = m_ptcpServer->nextPendingConnection();
неплохо бы проверять указатель, прежде чем использовать.
У вас pClientSoket получается нулевым - понятно, что всё упадёт.
Об этом даже в мануале написано "nullptr is returned if this function is called when there are no pending connections."
и что с этим делать?
проинецелизировать еденицей?
(начал писать сервер чисто на с++ в visual studio пока не разберусь с этим, да и ктому же это и полезно)
Проверять, конечно. Например:
QTcpSocket* pClientSoket = m_ptcpServer->nextPendingConnection();
if (pClientSoket == nullptr)
{
// ничего не делаем и выходим из функции
return;
}
В интернете куча примеров TCP сервера и клиента.
Например
https://doc.qt.io/qt-6/qtnetwork-fortuneserver-example.html
и
https://doc.qt.io/qt-6/qtnetwork-threadedfortuneserver-example.html
Правда это для Qt6 но общие принципы не поменялись.
А, вообще, лучше бы, конечно, просто подучить сам ЯП.
Записан
Digital Art
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: при отправке сообщения сервер закрывается(Tcp_Network)
«
Ответ #9 :
Февраль 18, 2023, 17:30 »
Цитата: tux от Февраль 18, 2023, 16:26
Цитата: Noize_programmer от Февраль 18, 2023, 16:17
Цитата: tux от Февраль 18, 2023, 16:09
Ну, падает то понятно почему.
В строке
QTcpSocket* pClientSoket = m_ptcpServer->nextPendingConnection();
неплохо бы проверять указатель, прежде чем использовать.
У вас pClientSoket получается нулевым - понятно, что всё упадёт.
Об этом даже в мануале написано "nullptr is returned if this function is called when there are no pending connections."
и что с этим делать?
проинецелизировать еденицей?
(начал писать сервер чисто на с++ в visual studio пока не разберусь с этим, да и ктому же это и полезно)
Проверять, конечно. Например:
QTcpSocket* pClientSoket = m_ptcpServer->nextPendingConnection();
if (pClientSoket == nullptr)
{
// ничего не делаем и выходим из функции
return;
}
В интернете куча примеров TCP сервера и клиента.
Например
https://doc.qt.io/qt-6/qtnetwork-fortuneserver-example.html
и
https://doc.qt.io/qt-6/qtnetwork-threadedfortuneserver-example.html
Правда это для Qt6 но общие принципы не поменялись.
А, вообще, лучше бы, конечно, просто подучить сам ЯП.
спасибо большое сервер не закрывается
«
Последнее редактирование: Февраль 18, 2023, 17:36 от Noize_programmer
»
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...