易语言制作web服务器的学习资料

易语言 2020-05-05 17:34:46

目前的我情况是刚好研究到够自己使用,就没有继续往下研究了,
我自己原本是想要一个支持 mysql 和大并发的web服务器,所以写了个简单的,目前已经在我服务器运行超过半年,抗住了非常大的并发,效果比IIS不知道强了多少
不过我终究还是想看到一个完美的,用易语言做的web服务器。
做一个web服务器的核心在于
(1)TCP服务器的稳定性,高效性,不能因访问过大而严重堵塞,要有容灾机制,基本的防护机制,以及合理的长连接处理
(2)扩展的支持,至少支持个DLL,而不是纯粹的静态文件,所以扩展支持应该专门做一个功能,扩展作为单独的文件,就像PHP一样
(3)对目前现有扩展的支持,asp,php这些应该是必须支持的,最好是跟IIS一样,能够支持ISAPI,那样功能就强大了,目前所有的应用于IIS上的ISAPI扩展和过滤器都可以用在这个服务器上,并且,fastCGI也是一种ISAPI扩展,而php5.4版本以后都是fastCGI模式,所以搞定了ISAPI就同时搞定了多种fastCGI应用,包括PHP
(4)如果想要商业化,最好是有一套自己的脚本语言翻译机制,很多大牛都发过类似的源码
(5)访问控制机制,安装web服务器的时候创建一个web服务器专用来宾用户

上面这些都是不容易解决的,我的研究,是卡在 调用ISAPI扩展和ISAPI过滤器上了,主要也是因为最近一段时间很忙,没什么时间,所以没有继续研究下去,我写了一个ISAPI的调用源码,在调用fastCGI拓展的时候总是崩溃,后来我猜测是传递的回调函数的stdcall方式调用有问题,要换成cdecl方式函数的指针,因为最近忙,所以这个猜测没有做过测试,我吧我写了一半的ISAPI调用的源码发出来供大家参考一下,有能力的可以尝试修改传递cdecl方式函数的指针给扩展,看看会不会崩溃,我自己可能要到过年之后有时间再去研究他了。