我同事用C语言写了一个服务器端的TCP socket程序,用来截取一个嵌入式设备上发的http GET请求(http:host/asp.net?xxx=yyy&xxx=yyy),然后把参数拿到之后转发给本地的apache服务,然后用php来处理。 之所以这么做是因为他只会php,所以只能想到这个方案。
他的c语言程序很简单, 监听本地端口,有连接进入就开一个线程进行参数截取操作,拿到参数转发本地之后就关闭socket,然后退出线程。整个程序没有用到select。
现在遇到了两个问题:
1. 如果用户多了,会发现服务器端有大量的处于 CLOSE_WAIT的连接。
2. 用户多了以后,这个c语言写的TCP socket程序会占用大量的cpu时间。
针对问题2:
apache能处理类似 asp.net的http get请求么?
如果使用python twisted来处理http get,会比现在的情况好么?
web.py是不是更加合适?
他的c语言程序很简单, 监听本地端口,有连接进入就开一个线程进行参数截取操作,拿到参数转发本地之后就关闭socket,然后退出线程。整个程序没有用到select。
现在遇到了两个问题:
1. 如果用户多了,会发现服务器端有大量的处于 CLOSE_WAIT的连接。
2. 用户多了以后,这个c语言写的TCP socket程序会占用大量的cpu时间。
针对问题2:
apache能处理类似 asp.net的http get请求么?
如果使用python twisted来处理http get,会比现在的情况好么?
web.py是不是更加合适?