2012-07-23 148 views
0

我对服务器编程相对较新,但我阅读了一些有用的教程。我有这个问题:单服务器与多个客户端

什么是处理多个客户端的最佳方式?

我看到有几种解决方案,但我不知道它们中的一些对我的应用来说是否太复杂。我必须在微控制器上使用C代码(因为我已经拥有这些库),并且我需要一个Web服务器来定期监视某些传感器接收到的一些数据(每个传感器的温度和湿度)。我也可能想向客户发送一些数据。 一些示例代码和链接可以帮助我阅读这些内容,这将非常有帮助。谢谢

+0

请参阅:http://stackoverflow.com/questions/5290860/trying-to-implement-concurrent-tcp-server-and-client-in-c – ninjalj 2012-07-23 17:31:11

回答

0

如果Web服务器是Microsoft IIS,则可以使用ISAPI/CGI/FastCGI。基本上你必须编写一个DLL(使用本地代码,例如C),其中包含为每个用户请求调用的函数,并生成一个输出。我认为这是最合适的方式,因为正如你所提到的,这些库(用于微控制器和传感器)也用C语言编写。

并且为了防止崩溃,IIS使用进程隔离(如果我完全记得该术语),这意味着在每个请求的不同进程的上下文中调用DLL,而不是线程。这在性能/资源管理方面可能不是很好,例如,如果您希望库仅连接到硬件(在初始化过程中)一次。不确定是否提供了创建线程(而不是单独的进程)的机制,因此请检查文档。否则,您可以制作另一个DLL并通过进程间通信技术(例如管道)连接到它,但这当然是额外的工作。

希望这会有所帮助。

相关问题