2013-01-08 75 views
1

我是Linux新手,并试图学习如此我的问题,我真的是通用的。我正在尝试在Linux上运行的应用程序,从输入接收数据,也许是USB端口,然后创建一个字符串并将其发送到Web服务器,并且Web服务器将处理该字符串(我对webserver部分)。重点是它必须连续完成,无需用户交互。在Linux上通过TCP发送/接收数据

我从哪里开始?我应该去C++吗?而且我对PHP很满意,是否可以通过它来完成?我想花时间研究一些非常可靠的东西。

最后,你可以给出一些关于从哪里开始学习Linux的建议,我已经在Windows中开发了,但是我想转移到Linux并掌握它。

谢谢。

+1

我总是发现下面的书很有用。它很好地涵盖了unix套接字,它们就是我用于TCP网络连接的东西。至于语言,你最好的选择很可能是使用c或C++。 http://www.amazon.com/Beginning-Linux-Programming-Neil-Matthew/dp/0470147628 –

回答

0

你的问题有点含糊。

  • 哪个设备正在创建数据?
  • 数据生成设备具有哪些接口功能(串口,USB,以太网,Wifi)?

Linux机器上最简单的解决方案可能是轮询串口的shell脚本(甚至可以是用作串口的USB端口),并将文本写入纯文本文件 - 逐行 - 从PHP的位置读出来。

例如:cat </dev/ttyS0>> ./input.txt

根据什么通信协议是在你的Linux机器和数据生成设备均购(BTW此命令行甚至可以从一个PHP程序中启动),该解决方案架构可能变得更复杂,更有能力。

很多事情可以在Unix中通过shell(=命令提示符)完成,并且不一定要求开发C程序。

1

如果你正在寻找一个与socket网络编程底漆,还有的所有时间的经典Beej指南 - http://beej.us/guide/bgnet/

对于初学者和恕我直言,交通十分便利,最好写的引物之一有关套接字编程/教程。

1

我会从PHP或Java中的套接字开始。然后,当这一切合理时,从那里继续前进。

1

如果你真的想学习* nix系统,并且你想解决这个问题,你应该学会从命令行使用pipes

您的USB与Web的例子,我会写两个程序:

  • 一个从USB设备读取数据,并打印到标准输出(控制台)
  • 一个从标准中读取数据输入并将其发布到网页上(您可能会将其写为使用'curl'实用程序的bash脚本)

从那里您只需将一个应用程序的输出管道输入到其他:

$ usb_program | web_program 

这就是Unix/Linux系统最初被设计为如何使用的方式,而你的问题就是管道应该解决的一个完美例子。