English 中文(简体)
Web 与Rayo 合作的网络库
原标题:WebSockets noob working with Railo

诚然,我在所有服务器、 Linux 和 Websockets 中都是一个完整的代名词。 我终于成功地建立了一个运行阿帕奇、 Tomcat 和 Railo 的 VM 系统, 可以连接并服务于 CFM 网页, 学习 UNIX 命令线导航、 服务器理论等等...

我的问题就在这里——只有一个拉罗网鸡尾酒的扩展(Railio websocket ), 它是一个超级小鸡尾酒(我不得不修改CFC来启动服务), 但我却无法连接到网络鸡尾酒(我一直在Google Chrome获得“未预料到的代码200 ” ) 。 文件很少, 根本无济于事。

基本上,我正试图为将来使用网络库的项目做一些原型设计。 我喜欢拉伊罗(Rairo)的速度、安全性以及极强的数据库操作能力。 我对节点很感兴趣,但不知道如何将同样的安全和 DB 功能从CFML(CFML)的 Javascript(DB) 功能中除去。

我有几个问题:我对WebSocket服务器的最佳选择是什么?我是否应该尝试使用Apache和/或Tomcat?人们总是说,拥有像Node.js这样的操作网络小屋部分和在后面做重活的东西是完全不值得的?为什么这样呢?我非常高兴用任何语言写WS处理器,如果我能在正确的方向上有所进展的话,我会有一些出色的辅导(我似乎无法在这个部门找到很多),或者关于如何从地面建立我的Linux盒子来处理网络小屋的反馈良好,最好是如何处理网络小屋和像Railo这样的强大语言。

问题回答

The Railo extension works fine for me. What about submitting some test code so that we can debug it? Of course the websockets projects is very young and in full deployment. So feel free to fork and submit patches or suggestions. You have plenty of options:

节点js的主要问题是它是一个单线:您无法使用它做背景任务, 而本地的 IO 将屏蔽您的服务器 。

我使用的解决办法是Go 。它速度非常快,具有非常好的同值货币特征,并整合了网络软体和json图书馆(Sample:http://gary.beagledreams.com/page/go-websocket-chat.com/page/go-websocket-chat.html )。在几十条Go线上建立了一个高效的网络应用服务器。你会发现,互联网上的文件比java甚至node.js通过的文件要少得多。

在Java有几处安装了网络软糖,但当我正在把在Java的一切都转换到Go的时候,我测试过。我知道我用Google Gson在java的json编码中使用了Google Gson,而且非常不错。

“ 意外代码200” 是由 Rairo s Web s socket 服务器发送过期回复引起的。 他们更改了 Web socket spec, Chrome 使用较新的 spec 。

The problem seems to be caused by chrome & co implementing the new spec, "draft-ietf-hybi-thewebsocketprotocol-17". It requires the server to respond with "HTTP/1.1 101 Switching Protocols" rather than 200 OK.

解决之道是要么自己更新Railio网络插座扩展版, 要么使用其他解决方案:

这是以 PHP 写的网络套接字聊天服务器的完整演示 。

http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/

我用这个来实施一个实时的 HTML 聊天, 由我周围的Arch Linux 机器提供。 配置包括简单设置 Apache 和 PHP, 然后在 index. html 和 server.php 中将 IP 地址更改为服务器机器的外部 IP 地址 。

此 flynsarmy 演示包含最近版本的 PHPWebSocket, 它是一个开源网络套接字服务器, 完全以 PHP 写成, 包含在单个文件中 。 演示钩可分为三个回调 : 连接、 回复和断开 。

对我来说,重要的是, 网络套接字协议只支持文本, 而不是二进制, 所以在为我自己的聊天应用程序扩展它的同时, 我不得不执行自己的命令来帮助控制服务器。 在我的例子中, 命令是这样的:

!kickusers: username, another_username, a_third_username

我的服务器代码将检查所有信件的第一个字符! 如果当前将它作为命令处理 。 然后我切换字符串以获得命令“ kickuser ” 和用户列表。 然后我调用合适的踢脚功能, 传递用户名 。

因为我的假想是一个聊天客户端, 这意味着用户可以将这个命令输入到聊天中, 服务器会接受并回应它 。

在我服务器上部署这一切的方式是这样的:

  • I have Apache serve the index.html page when the user goes to that location on my server in their browser. The only purpose Apache plays here is to give index.html to the client who requested it.
  • The index.html page contains html to display the chat and javascript to send and recieve chat to/from the server. Basically, index.html is simply a chat client written in HTML and Javascript and it runs in the browser.
  • I run server.php via ssh on the server to start up the WEB SOCKET server (totally separate from Apache) which just sits there and handles chat stuff like echoing text to the other connected clients etc.

尽管安装阿帕奇和PHP的Arch Wiki 与 Apache 和 PHP 安装 Apache 和 PHP 软件包的方式不同,您安装 Apache 和 PHP 软件包时, Apache 和 PHP 的章节对所有人都适用。 如果您想要: < a href=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

我之所以提供与Flynsarmy聊天演示的链接, 是因为他的评论很有帮助, 他写了一篇博客,





相关问题
Signed executables under Linux

For security reasons, it is desirable to check the integrity of code before execution, avoiding tampered software by an attacker. So, my question is How to sign executable code and run only trusted ...

encoding of file shell script

How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks

How to write a Remote DataModule to run on a linux server?

i would like to know if there are any solution to do this. Does anyone? The big picture: I want to access data over the web, using my delphi thin clients. But i´would like to keep my server/service ...

How can I use exit codes to run shell scripts sequentially?

Since cruise control is full of bugs that have wasted my entire week, I have decided the existing shell scripts I have are simpler and thus better. Here is what I have so far svn update /var/www/...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

热门标签