crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QT сервер и клиент на PHP
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Zizilk Дата 26.7.2010, 18:21
  Имеем простой код сервера (несолько переделанный код Fortune Server)
main.cpp
CODE

#include <QApplication>
#include <QtCore>

#include <stdlib.h>

#include "server.h"

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Server();
return a.exec();
}



Server.cpp
CODE
#include <QtNetwork>
#include <QTcpSocket>
#include <stdlib.h>
#include <stdio.h>
#include "server.h"

Server::Server()
{
tcpServer = new QTcpServer();
if (!tcpServer->listen(QHostAddress::LocalHost,5423)) {
printf("Server isn't works fine( \n");

}
else {
printf("Server works fine) \n");
}
connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newuser()));
}

//! [4]
void Server::newuser()
{
QTcpSocket * Clientsocket=tcpServer->nextPendingConnection();
connect(Clientsocket,SIGNAL(disconnected()),Clientsocket,SLOT(deleteLater()));
Clientsocket->write("Hi");
printf("New user \n");
}


и Server.h

CODE
#ifndef SERVER_H
#define SERVER_H


#include <QTcpServer>


class Server: public QObject
{
Q_OBJECT

private slots:
void newuser();
public:
Server();

private:
QTcpServer *tcpServer;
};

#endif



Также имеется клиент на PHP который конектится к сокету и читает из него.
Тестировал клиент двумя способами первый без чтения, второй с чтением.

Через дебаг запускаю сервер.
Ошибок\предупреждений не получаю
дальше подключал клиент без чтения сокета. Клиент удачно подключился (ошибок нет)

Но на сервере не выполняется всё равно функция newuser() которая должна вывести в консоль сообщение о новом пользователе.
Соотвественное если запустить клиент с чтением из сокета, то есстественно он подвисает.

Не могу понять в чём моя косяк :unsure:
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 13:15