如何启动Wt客户端?

时间:2013-06-14 08:38:59

标签: c++ web-applications browser wt

我刚刚开始使用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

它已成功编译。然后我可以成功运行此服务器应用程序以在localhost上运行它

[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客户端? Thanx in advannce

2 个答案:

答案 0 :(得分:0)

尝试127.0.0.1:9090

您在命令行中指定了127.0.0.1,因此在浏览器的地址栏中键入它。 这是Wt嵌入式http服务器的具体内容。

答案 1 :(得分:0)

您必须在命令行参数中提及--deploy-path变量。试试这个  --http-address 127.0.0.1 --http-port 9090 --deploy-path=/hello --docroot=.

在浏览器中输入http://localhost:9090/hello