0 0

如何让两个服务器完美运行?0

用websocket写了个聊天程序,服务器端需要同时运行websocket server和http server,代码大致如下:
websocketserver = WebSocketServer.new()
httpserver = TCPServer.new()
login_users = []
while true 

  Thread.start(websocketserver.accept) do |s|
     puts "websocketserver accepted"
     
  end

  Thread.start(httpserver.accept) do |client|
     puts "httpserver accepted"
  end
end

这样写的结果是websocketserver先接收,之后httpserver再接收,我想要的效果是两个服务器无论何时只要有请求就能随时接收并处理,先谢谢了

问题补充:再补充一下,两个服务器放在不同线程里监听,有时候很正常,有时候就必须某一个先监听到信息,另一个服务器才能正常监听,我需要的是两个服务器完全并行,在任何时候,其中一个不能阻塞另一个的监听
2014年11月19日 17:00

1个答案 按时间排序 按投票排序

0 0

采纳的答案

放到不同的线程里

2014年11月20日 16:41

相关推荐

    网络多人对战台球(服务器完整版)使用自己论坛的虚拟币

    5、按和上面同样办法创建AppDirectory和AppParameters两个主键,AppDirectory的键值为taiqiu所在的目录,AppParameters的键值则是运行taiqiu的参数(不用设值),然后关闭注册表编辑器。 6、从控制面板-->...

    TurboMail邮件服务器.zip

    可根据设定的条件使用多个邮箱进行邮件中继,可使用海外服务器进行中转,确保用户畅通地发送邮件。  5、全面到位的邮件管理体系  对进出邮件进行监控,或对进出邮件设置审批,确保公司机密不通过邮件泄露;邮件...

    VMware服务器虚拟化解决方案.doc

    然而,为了实现如上所述的高可用性集群,就像很多服务器 运行应用一样,企业需要预备和管理两次。 有了虚拟化,IT管理员能在运行重要应用的实体机和同等配置的虚拟机上创建集群。 在待机状态下,虚拟机并不消耗...

    完美验证码识别系统

    4.增加可以使用验证码长度进行过滤,增加可以使用总体信任度进行过滤.(这两个功能可以快速的制作字库,比如说你验证码是4位的,你可以设置验证码小于4,大于4那这张图片肯定是识别错误的,那么软件就会把这张图片保存下来...

    TurboMail邮件服务器 4.3.0 For Linux.zip

    可根据设定的条件使用多个邮箱进行邮件中继,可使用海外服务器进行中转,确保用户畅通地发送邮件。 全面到位的邮件管理体系 对进出邮件进行监控,或对进出邮件设置审批,确保公司机密不通过邮件泄露;邮件归档,...

    TurboMail邮件服务器软件 v4.3.0 for linux

    4、高级中继功能和海外转发服务器保证全球收发 可根据设定的条件使用多个邮箱进行邮件中继,可使用海外服务器进行中转,确保用户畅通地发送邮件。 5、全面到位的邮件管理体系 对进出邮件进行监控,或对进出邮件设置...

    ESET nod32 ID自动获取工具【ESET_VC52_AUTOID】 V1.7.2.1

    1、重新编写“静默模式”和“服务器模式”,让这两个模式可以在V4使用(支持win7)。 2、优化ID验证问题,已经不会在ESET服务器出问题时可能会出现等待N久的问题。 3、加强了ID验证方式,现在v4已经可以使用。(如果...

    TurboMail邮件服务器软件 v4.3.0 for windows.exe

    可根据设定的条件使用多个邮箱进行邮件中继,可使用海外服务器进行中转,确保用户畅通地发送邮件。 5、全面到位的邮件管理体系 对进出邮件进行监控,或对进出邮件设置审批,确保公司机密不通过邮件泄露;邮件...

    靠谱助手(bluestacks安卓模拟器)

    靠谱助手是靠谱社区于2013年5月18日推出的一个专为第三方智能安卓模拟器提供管理的免费应用程序,靠谱助手目前支持bluestacks安卓模拟器,是国内最完美的PC端管理软件。 bluestacks安卓模拟器支持QQ、微信、陌陌等...

    centos,rhel两个Linux系统做双网卡绑定的Python脚本

    Linux系统双网卡绑定Python脚本,如果你的服务器太多,或者不想手动敲的话,这个脚本还是很适合你的,目前我只在centos和rhel系统上面测试过,完美通过。之前上传的那个有点问题。下载下去后,传到linux系统里面去,...

    Android Studio gradle系列之gradle-3.3-all.zip

    在出错的情况下,文件夹里只有两个文件,首先关掉正在打开的Android Studio软件,然后删除这两个文件,并把下载好的压缩包放到这里,重新运行Android Studio ,就会发现这个问题已经完美解决了!

    Ajiu AspWebServer V2.0 服务器 (版本号2.0.2.4)

    2007-7-11 修正了好几个让我郁闷的错误,还有两个在解决中... 2007-7-13 真正实现如果你的默认浏览器是TheWorld,Maxthon,Opera那么双击图标她将相对应的浏览器中打开主页,从菜单中则是在IE中打开,堪称完美版了~~!...

    php绿色环境包(支持最新windows10系统,兼容XP系统)

    到了这一步,网站只能在服务器上查看,别人通过互联网是访问不了的,因为还有一个重要的步骤要做,那就是域名解析,把域名解析到这个服务器上,全国各地的网名就可以通过互联网访问你这个网站了,下面我们来演示如何...

    你必须知道的495个C语言问题

    3.15 我要检查一个数是不是在另外两个数之间,为什么if(abc)不行? 3.16 为什么如下的代码不对?inta=1000,b=1000;longintc=a*b; 3.17 为什么下面的代码总是给出0?doubledegC,degF;degC=5.0/9*(degF-32); ...

    java源码包3

    2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java...

    亲测 完美的.NET Framework卸载工具(支持卸载framework 1.0~4.5)

    虽然是英文版的,不过使用简单,只要运行后选择你需要清除的.net framework版本(或者选择卸载全部.NET Framework版本),然后点击“cleanup now”按钮即可开始执行清除作业,过程会持续一到两分钟即可完成framework...

    《你必须知道的495个C语言问题》

    3.15 我要检查一个数是不是在另外两个数之间,为什么if(a b c)不行? 40 3.16 为什么如下的代码不对?int a=1000, b=1000; long int c=a * b; 40 3.17 为什么下面的代码总是给出0?double degC, degF; degC= ...

    keepalived-1.2.8.tar.gz

    一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主...

Global site tag (gtag.js) - Google Analytics