Я только начал разработку с использованием wt (с привязкой c ++). И я мог бы сделать до сих пор, читает очень мало документации и немного примеров программ (написанных на C ++ и WT).
После этого я установил wt на мою машину и попытался запустить одну из этих демонстрационных программ.
hello.cc
#include <Wt/WApplication>
#include <Wt/WBreak>
#include <Wt/WContainerWidget>
#include <Wt/WLineEdit>
#include <Wt/WPushButton>
#include <Wt/WText>
class HelloApplication : public Wt::WApplication
{
public:
HelloApplication(const Wt::WEnvironment& env);
private:
Wt::WLineEdit *nameEdit_;
Wt::WText *greeting_;
void greet();
};
HelloApplication::HelloApplication(const Wt::WEnvironment& env)
: Wt::WApplication(env)
{
setTitle("Hello world");
root()->addWidget(new Wt::WText("Your name, please ? "));
nameEdit_ = new Wt::WLineEdit(root());
Wt::WPushButton *button = new Wt::WPushButton("Greet me.", root());
root()->addWidget(new Wt::WBreak());
greeting_ = new Wt::WText(root());
button->clicked().connect(this, &HelloApplication::greet);
}
void HelloApplication::greet()
{
greeting_->setText("Hello there, " + nameEdit_->text());
}
Wt::WApplication *createApplication(const Wt::WEnvironment& env)
{
return new HelloApplication(env);
}
int main(int argc, char **argv)
{
return Wt::WRun(argc, argv, &createApplication);
}
Я выполнил этот код
g++ -o hello hello.cc -lwthttp -lwt
Он был успешно скомпилирован. Затем я смог успешно запустить это серверное приложение, чтобы запустить его на локальном хосте.
[manmatha@manmatha Lab]$ su
Password:
[root@manmatha Lab]# ./hello --docroot . --http-address 127.0.0.1 --http-port 9090
[2013-Jun-14 13:58:08.585419] 5066-[info] "WServer/wthttp:initializing built-in wthttpd"[2013-Jun-14 13:58:08.590955] 5066-[info] "wthttp:started server: http://127.0.0.1:9090"
проблема в том, когда я печатаю
локальный :: 9090
в адресной строке интернет-браузера на локальной машине., ничего не появляется.
В этом контексте мой конкретный вопрос — как запустить wt клиента ??
Спасибо в плюсе
попробуйте 127.0.0.1:9090
Вы указали 127.0.0.1 в командной строке, поэтому введите его в адресную строку браузера.
Это специфика встроенного http-сервера Wt.
Вы должны упомянуть --deploy-path
переменная в аргументах вашей командной строки. Попробуй это
--http-address 127.0.0.1 --http-port 9090 --deploy-path=/hello --docroot=.
В браузере набери http://localhost:9090/hello