尝试使用Boost Asio创建远程服务器客户端

时间:2013-03-31 20:33:49

标签: client-server boost-asio

我想从Windows上运行的应用程序访问一组值/数据。我对这一切都很陌生(具有基本的编程经验)所以现在我发现使用Boost Asio会对我有所帮助。我查看了网站上的教程,但它们没有帮助,因为 - 我很难理解代码和难以想象它实际上做了什么。

我基本上“应该”做什么 -

  • 在Windows机器上编写一个“服务器”程序,从应用程序获取数据(虽然我仍然不清楚 如何 我在第一个获取数据地方,所以我的问题似乎多余了。)
  • 在运行Ubuntu的单独机器上编写“客户端”程序。客户端程序从服务器获取数据(现在)显示这些值。这些值基本上是一组位置和旋转(我认为更多细节在这里并不重要),并且必须显示它们。

我看了here给出的例子,但没有描述(正确)或解释他们实际做的事情(就像我说的,我很新,所以我需要一些外部帮助来正确理解所有此)

我上面写的内容可能不是明显做到这一点的最好方法,如果有人能提出一些更简单/更简单的方法,那么我也会对此表示赞赏并进一步研究。

我强烈认为这个问题会被关闭,因为它可能不符合“规定”,但任何人都可以解释/帮助我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

根据您的要求,制作成熟的应用程序服务器可能会过度 如果这个“来自Windows上运行的应用程序的值/数据集”可以放在文件中,您可以使用FTP或SMB或HTTP或...等共享其目录。

在linux端,您可以挂载目录并使用该文件,就好像它是本地文件一样。

你不需要任何编程技巧。


如果您需要更实际的按需实时方法,可以在Windows计算机上使用网络服务器。如果您请求页面(与请求网页相同),它可以运行脚本(甚至启动应用程序)来构建包含数据的文本文件或JSON / XML字符串并将其发回。

这是webservers 101,有很多教程。程序员不必担心套接字之类的东西:它被抽象掉了。


为了更好地回答有关如何从Windows应用程序获取数据的问题,我们需要了解有关该应用程序的更多信息。


关于Boost :: asio:恕我直言,查看它的方式是作为网络的包装器,具有用于事件驱动编程的可选功能。任何了解基本编程的人都可以学习它,但开始并不容易,需要一些时间。