如何启动 Wt 客户端?

Posted

技术标签:

【中文标题】如何启动 Wt 客户端?【英文标题】:How to launch a Wt Client? 【发布时间】:2013-06-14 08:38:59 【问题描述】:

我刚刚开始使用 wt(使用 c++ 绑定)进行开发。到目前为止,我可以做的只是阅读很少的文档和少量的示例程序(用 c++ 和 wt 编写)。

之后,我在我的机器上安装了 wt,并尝试运行其中一个演示程序。

你好.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 客户端? 提前谢谢

【问题讨论】:

什么都没有出现是什么意思?你有空白页吗?还是您浏览器的“无法连接”错误? 我想通了...这可能是由于一些配置错误(在运行该应用程序之前,我已经启动并禁用了一些系统服务)。重启解决问题 【参考方案1】:

试试 127.0.0.1:9090

您在命令行中指定了 127.0.0.1,因此请在浏览器的地址栏中键入它。 这是 Wt 嵌入式 http 服务器的一个特定部分。

【讨论】:

【参考方案2】:

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

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

【讨论】:

浏览器的 URL 字段中不是localhost::9090\hello,而是http://localhost:9090/hello

以上是关于如何启动 Wt 客户端?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Wt 将图表推送到客户端

如何使用 Wt 启动和运行 Restful API

Wt 从 http 响应回调中添加新的小部件

Wt C++ - 将 GET 值添加到 URL

如何使用内置 Web 服务器部署 Wt 应用程序?

如何使用 GWT 在客户端处理图像/gif 类型响应