Здравствуйте,подскажите пожалуйста,пытаюсь создать "Чат-клиент". Дошел до того, что я создаю сервер и захожу в сам клиент с первого компьютера.
Но моя проблема заключается в том, что , когда я подключаюсь вторым компьютером к созданному серверу (который запущен на первом компьютере)
,то подключение не происходит.
Получается такая ситуация:
(сервер запущен)
На первом компьютере:
На втором:
Но подключаясь(запуская только клиент), Connect
не происходит. Номер порта и localhost
остается прежним при подключение.
Чтобы добавить Connection в "сервер":
void Widget::addConnection()
{
QTcpSocket* connection = server->nextPendingConnection();
connections.append(connection); //Them ket noi vao danh sach
QBuffer *buffer = new QBuffer(this); //Tao bo dem du lieu cho connection nay
buffer->open(QIODevice::ReadWrite);
buffers.insert(connection, buffer); //Luu vao danh sach
connect(connection, SIGNAL(disconnected()), this, SLOT(removeConnection()));
connect(connection, SIGNAL(readyRead()), this, SLOT(receiveMessage()));
}
Я не знаю, как лучше показать код, чтобы это легче воспринималось для понимания и, чтобы вы помогли решить проблему. Я выложу его так:
Сервер:
https://www.dropbox.com/sh/vilapm4sr1laimi/AAD5G0USlLf5UayQq2zHb9ZUa?dl=0
Клиент:
https://www.dropbox.com/sh/fx9jtzvtmeepzry/AABcDbvFU4ha4skHQP9AxK1la?dl=0
Собираю на Qt 5.3 под Windows.
Ваша проблема в том, что [localhost][1]
(он же 127.0.0.1) - это такой специальный адрес самой машины, на которой вы работаете. Так что запрос localhost
на клиенте означает попытку подключения к серверу на этой же машине.
Так что в клиенте вам нужно указывать реальный адрес вашего сервера, ну, а сам сервер, соответственно, связывать для прослушивания с реальным адресом (bind()
при работе с сокетами; как это решается в Qt - смотрите сами).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, подскажите пожалуйста, у меня имеется два приложение, одно - сервер, другое - клиент
Добавляю в href ИД переключателя по клику, но при каждом нажатии на переключатель, ИД добавляется снова и снова, а нужно только один, попробовал...