我正在学习c#,我正在编写一个Windows客户端,它从计算机收集温度数据,需要将其发送到远程linux mySQL数据库。
我打算直接在c#客户端编程,但我想学习更多方法来获得这些并获得经验。直接编程会降低安全性,并且很可能需要额外的连接器。
你们任何人都可以告诉我其他方法,或者你们会这样做的方法吗?
如何在我的Linux mySQL Server上编写充当Web服务的C#程序?我应该在哪里查找/搜索以了解更多相关信息。它被称为特别的东西吗?或者也许它没有在C#中完成?
我应该编写一个接受来自C#Desktop客户端的HTTP SEND / GET请求的php脚本吗?
还有其他任何方式吗?
现实世界中最“专业”的方式是什么?试着自己学习! :d
格式:
答案 0 :(得分:2)
我的建议是设置一个Web服务来与您的Windows客户端进行通信。直接连接到mysql服务器是好的,如果它们都驻留在同一个局域网中,但如果没有,例如你的Windows客户端运行在一些笔记本电脑到处运行,甚至mysql服务器只允许本地传入连接,你应该设置一个Web服务。此外,http连接通常可以通过防火墙,而其他端口上的连接被阻止。
php是一种很好的方法。既然你正在学习c#,你也可以使用c#来进行服务器端编程,为什么不尝试单声道?
答案 1 :(得分:1)
强烈建议直接将MySQL服务器暴露给互联网,此外,这为您提供了一组相当粗略的访问权限,这可能对您的应用程序来说不够,因此运行某种服务器应用程序是正确的方法。去。
对于您的特殊用例,我个人会使用基于PHP的快速解决方案,其中协议只是一个简单的GET,带有一些参数,一个是温度,另一个是验证客户端。
答案 2 :(得分:0)
如果温度传感器生成事件,那么我会将数据从Windows框“推送”到Linux框 - 这将保存后者经常检查并找不到更新。但是,如果你只是采取温度样本,我会从Linux机器“拉”数据。无论哪种方式,如果您想使用HTTP,您将需要任何一方的Web服务。
或者,您可以从C#远程连接到MySQL数据库,并直接写入数据(不需要Web服务)。这可能是让这项工作最快捷的方式。
'这是专业'的问题是主观的 - 以上三个选项都很好。只需使代码清晰简洁:)