服务器程序可以使用以下脚本
1、 wow大规模的使用lua,已经导致lua成为网络游戏领域第一大脚本语言,速度和简洁性是它的突出特点,丰富的包装库也使得它的使用很简单,但库偏少和没有完整的面向对象特性也导致它不优雅,有的时候需要自己包装太多东西,总之还不是一个完美的东西。Tcc, python等也是服务器脚本的可选语言,tcc速度更快,python库丰富。
2、 我一直说server程序的开发可类比web领域的开发,web提供了丰富的脚本,如php、c#等,在一般的server程序里面集成php也是很容易的,php提供了丰富的库,如果要开发和web交互频繁的程序那么php的优势就更明显了,使用php也可以跟php作为普通web脚本一样有几个选择,如可当作进程内模块使用、也可以当作cgi使用,也可以当做fastcgi使用,不过作为普通服务器程序和一般的web程序还是有一些区别的,主要有两个区别,那就是web是无状态的,一般的server可能有状态也可能无状态,但大多都是有状态的,第二个不同就是web支持的是http协议,而一般的网游支持的是自定义协议,用php做server端脚本除了这两个地方要注意之外就和在web上使用没多大区别了。包装好和主模块的交互就一切搞定了。
3、 从2可知道,不仅仅是php可作为server程序的脚本,c#包括所有.Net平台支持的语言都可以作为server程序的脚本,c#随着4.0的发布已经成为.net平台上的首选语言,优雅的语法和高效的性能让它激动人心,比php lua等高级了许多,也高效了许多,说它是明星语言一点不过分,如果server可以在.net平台上,那么c#几乎是最优的脚本语言,同理vb.net c/clr等只要是.net平台支持的语言也都可以作为脚本,最典型的支持我们可以从sqlserver了解到,sqlserver支持clr型存储过程,这就是将.net作为脚本的典范啊。
4、 其实最简单的使用dll动态装入模型也可支持server端的灵活性,而且兼顾了效率,最简单的处理可以这样,每次调用dll部分的时候都LoadLibrary,用完之后FreeLibrary,虽然这样损失了效率,但灵活性比较好,要更新也很容易,当然如果管理到仅在dll更新的时候才重新装入可让效率更高,总之这种模型虽然没有什么人在使用,但其实不失为一种很有效的模型,开发效率和执行效率都比较高,虽然看上去不如用脚本那么优雅。