crossplatform.ru

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

Zizilk
  опции профиля:
сообщение 28.7.2010, 22:27
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


Имеется сервер.
Он должен получать данные от клиента написанного на PHP.
На сервере есть массив декрипторов подключённых сокетов.

Собственно вопрос...
Как организовать так, чтобы сервер пробегался по старым декрипторам из массива, получал данные, и в зависимости от них уже работал.
Я так понимаю делается это через бесконечный цикл, который управляется из паралельного потока?

Смотрел пример клиента но там больше подойдёт именно для клиентской части, где будет один сокет.


И ещё вопрос, как организовать чтение из сокета?
Если допустим с клиента на PHP передаются целые(пока) и дальше строковые значения?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V  < 1 2 3 >  
Начать новую тему
Ответов (10 - 19)
Zizilk
  опции профиля:
сообщение 30.7.2010, 22:12
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


чего-то совсем запутался(... :(

Просто пересылаю из php клиента безобидную строчку "hi".

И не пойму как добраться(.

В примере который который есть поставляется вместе с креатором, там всё тоже самое, только из потока in заносится в QString и потом выводится в лейбл(там гуишное).
А если так, то как-то сложно всё получается... Я явно, что-то делаю не так.
Ps а как вывести Qstring переменную в консоль?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.7.2010, 22:31
Сообщение #12


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(Zizilk @ 31.7.2010, 1:12) *
Просто пересылаю из php клиента безобидную строчку "hi".

ну, не знаю, подождём тех, кто силён в этом классе :)

Цитата(Zizilk @ 31.7.2010, 1:12) *
Ps а как вывести Qstring переменную в консоль?

оператором >> попробуй
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zizilk
  опции профиля:
сообщение 31.7.2010, 15:18
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ничего не понятно. затык как раз с in, тк я пробовал выводить через дебаг Qstring всё равно нулевая строка
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 31.7.2010, 15:22
Сообщение #14


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


в доке:
Example (write binary data to a stream):

 QFile file("file.dat");
 file.open(QIODevice::WriteOnly);
 QDataStream out(&file);   // we will serialize the data into the file
 out << QString("the answer is");   // serialize a string
 out << (qint32)42;        // serialize an integer

//-----------------------

Example (read binary data from a stream):

 QFile file("file.dat");
 file.open(QIODevice::ReadOnly);
 QDataStream in(&file);    // read the data serialized from the file
 QString str;
 qint32 a;
 in >> str >> a;           // extract "the answer is" and 42


попробуй так - получится ли ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zizilk
  опции профиля:
сообщение 31.7.2010, 15:28
Сообщение #15


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


по нулям
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 31.7.2010, 15:34
Сообщение #16


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Что значит по нулям )) Содержимое "str" и "a" после последней строчки чему равно ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zizilk
  опции профиля:
сообщение 31.7.2010, 15:37
Сообщение #17


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


a не делал, только со стр(там код фактически такойже то к с функцией open)
содержимое str null
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 31.7.2010, 15:57
Сообщение #18


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Ну не знаю, у меня всё чётко прочиталось - строка и 42.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zizilk
  опции профиля:
сообщение 31.7.2010, 18:56
Сообщение #19


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.7.2010
Пользователь №: 1902

Спасибо сказали: 0 раз(а)




Репутация:   0  


Я не знаю, может это изза того, что данные получаю из PHP, и там какой-то другой станадрт
(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 31.7.2010, 19:02
Сообщение #20


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Наверное, там юникод, тогда символ может состоять из нескольких байтов, а первым байтом может оказаться 0. А пытаешьсчя ты считать ASCIIz-строку. Вот и происходит так - пустая строка.

Как бороться - не знаю(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 1.6.2025, 9:18