当下Ruby语言在程序员之间很是火热,开源社区也是不断的有新的Ruby应用。Thin 和 Sinatra 就是这百家争鸣时代的佼佼者。
不过新的事物总是有一个成熟期,就像任何升级都是有代价一样。Sinatra和Thin配合起来,在一些场景下存在问题。
笔者遇到的情况是这样的。
笔者的应用结构如下:
Web Browser –> NodeJS –> Thin –> Sinatra
问题就出现在 NodeJS –> Thin 这条路径上:Thin解析NodeJS发送的JSON数据出错,Thin收到的JSON数据,会在原始数据头尾分别加上一串数字,样例如下:
88
{"xx":"a","yy":"b"}
0
通过Google搜索解决方法,发现是NodeJS与Thin两者不兼容。解决这个问题的方法就是NodeJS和Thin选其一,后来笔者还是换掉了Thin,使用Ruby原生的Web容器Webrick。在Sinatra中使用Webrick的方式为:
rackup -p 8090 -s webrick
本文链接:http://www.yunweipai.com/4122.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/53219.html