Russian Qt Forum

Qt => Работа с сетью => Тема начата: mr.zhelez от Февраль 20, 2013, 13:39



Название: QTcpSocket::write
Отправлено: mr.zhelez от Февраль 20, 2013, 13:39
Пишу IRC бота. Нужно указать ник путем "NICK bot_nick". У меня есть строка, но QTcpSocket::write ее не принимает. Перевожу в char* string.toUtf8.data(); Передаю параметр без проблем, но бот не логинится. Может быть неправильно в char* перевожу? Если напрямую указывать socket->write("NICK bot_nick"); то работает.


Название: Re: QTcpSocket::write
Отправлено: carrygun от Февраль 20, 2013, 13:59
У write() случаем нет варианта с QByteArray? И не забывай в конце каждого IRC запроса отправлять перевод строки, то есть '\n'.

P.S. А бот будет поддерживать скрипты, их создание и все такое? Ну как яйцепад  :)


Название: Re: QTcpSocket::write
Отправлено: mr.zhelez от Февраль 20, 2013, 14:02
У write() случаем нет варианта с QByteArray? И не забывай в конце каждого IRC запроса отправлять перевод строки, то есть '\n'.

P.S. А бот будет поддерживать скрипты, их создание и все такое? Ну как яйцепад  :)
да, перевод строки я не забываю. С QByteArray я пробовал, все равно не логинится. Если не сложно то попробуй например строку QString nick = "NICK bot_nick \r\n"; как нибудь засунуть в write чтобы бот залогинился. Если получится напиши пожалуйста.


Название: Re: QTcpSocket::write
Отправлено: carrygun от Февраль 20, 2013, 14:05
Я както тоже баловался, но писал ирк клиент. Приду домой - гляну (пара часов, если не забуду). В ирк спецификации оказалась куча всякой ерунды, так что мне было лень реализовывать. Простой чаттинг, каналы, приваты, а птом надоело.


Название: Re: QTcpSocket::write
Отправлено: alex312 от Февраль 20, 2013, 14:17
Перевожу в char* string.toUtf8.data();
может попробуй переводить в однобайтную кодировку : string.toLatin1();


Название: Re: QTcpSocket::write
Отправлено: BuRn от Февраль 21, 2013, 20:30
ну правильно или нет ты же можешь посмотреть в отладчике , да и если попробовать через std а потом уже в char ?