我对服务器编程比较陌生,但我读了一些有用的教程。我有这个问题:
处理多个客户端的最佳方法是什么?
我读到有几个解决方案,但我不知道它们中的一些是否对我的应用来说太复杂了。我必须在微控制器上使用C代码(因为我已经有了库),我需要一个Web服务器来定期监视某些传感器接收的一些数据(来自每个传感器的温度和湿度)。我可能还想向客户发送一些数据。 一些示例代码和链接可以帮助我阅读这些内容非常有用。谢谢
答案 0 :(得分:0)
如果Web服务器是Microsoft IIS,则可以使用ISAPI / CGI / FastCGI。基本上,您必须编写包含为每个用户请求调用的函数的DLL(在本机代码中,例如C),并生成输出。我认为这是最合适的方式,正如你所提到的那样,这些库(用于微控制器和传感器)也在C中。
并且注意,为了防止崩溃,IIS使用进程隔离(如果我记得这个术语完全正确),这意味着在每个请求的不同进程的上下文中调用DLL,而不是作为线程。这在性能/资源管理方面可能不是很好,例如,如果您希望库只连接一次HW(在初始化期间)。不确定是否提供了创建线程(而不是单独的进程)的机制,因此请检查文档。否则你可以创建另一个DLL并通过进程间通信技术(例如管道)连接到它,但这当然是额外的工作。
希望这有帮助。