标签: websocket

android应用程序与phonegap在后台服务中运行websocket

我是Android的新手,但熟悉网络编程.目前我正在使用phonegap编写应用程序.

我的应用程序通过websockets接收新闻并将其显示给用户.

我的问题是,当我的应用程序被用户关闭时,我无法使用它WebView来接收新闻.经过一段时间的搜索,我找到了一个可以用Java运行后台服务的Phonegap插件:https://github.com/Red-Folder/bgs-core.

但我是Java的新手,我不知道如何在后台服务中运行websockets(autoban.ws for Android)来接收新闻并在通知栏中显示它.

java android websocket cordova

0
推荐指数
1
解决办法
3795
查看次数

CentOS 6.5 - haproxy致命错误

在CentOS 6.5中获取错误,HA-Proxy版本1.4.24 2013/06/17请告知如何使其工作?我需要对localhost:8888做HTTPS,这是失败的.

# service haproxy start
[ALERT] 238/084310 (24365) : parsing [/etc/haproxy/haproxy.cfg:18] : timeout 'tunnel': must be 'client', 'server', 'connect', 'check', 'queue', 'http-keep-alive', 'http-request' or 'tarpit'
[ALERT] 238/084310 (24365) : parsing [/etc/haproxy/haproxy.cfg:22] : 'redirect' expects 'code', 'prefix', 'location', 'set-cookie', 'clear-cookie', 'drop-query' or 'append-slash' (was 'scheme').
[ALERT] 238/084310 (24365) : parsing [/etc/haproxy/haproxy.cfg:24] : 'bind' only supports the 'transparent', 'defer-accept', 'name', 'id', 'mss' and 'interface' options.
[ALERT] 238/084310 (24365) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 238/084310 (24365) : …
Run Code Online (Sandbox Code Playgroud)

https centos haproxy websocket

0
推荐指数
1
解决办法
1万
查看次数

使用Python中的WebSockets将RabbitMQ事件推送到浏览器的最简单方法?

我有一个现有的Python系统,它使用Rabbit MQ接收消息.使用Python使用WebSockets将这些事件推送到浏览器的绝对最简单的方法是什么?如果解决方案也适用于所有主流浏览器,则可获得奖励

谢谢,维吉尔

python browser events rabbitmq websocket

0
推荐指数
1
解决办法
2456
查看次数

如何使用socket.io从服务器调用客户端方法

我正在使用flask-socketio服务器,并具有以下代码从服务器调用客户端功能.这是正确的方法吗?或者,还有更好的方法

服务器

@socketio.on('connect', namespace='/test')
def test_connect():
    sleep(5)
    emit('my response', {'data': 'myFunction', 'parameter': 2})
Run Code Online (Sandbox Code Playgroud)

客户

socket.on('my response', function(msg) {
    console.log(msg)
    window[msg.data]({parameter1 : msg.parameter});
}
Run Code Online (Sandbox Code Playgroud)

javascript python websocket flask

0
推荐指数
1
解决办法
421
查看次数

在带有CORS的一个端口上运行&Socket.io HTTP + WSS?

Go的新手。.显然仍在学习语法和基础知识..但是我确实有一个特定的目标。

我正在尝试在:8080上建立一个简单的服务器,该服务器可以响应HTTP和socket.io(通过/socket.io/url),特别是使用CORS。

我的代码:

package main

import (
     "log"         
     "net/http"
     "github.com/rs/cors"
     "github.com/googollee/go-socket.io"
 )

 func SayHelloWorld(w http.ResponseWriter, r *http.Request) {
     w.Write([]byte("Hello, World!"))
 }

 func main() {

   c := cors.New(cors.Options{
         AllowedOrigins: []string{"*"},
         AllowCredentials: true,
   })

   server, err := socketio.NewServer(nil)
     if err != nil {
         log.Fatal(err)
     }


   server.On("connection", func(so socketio.Socket) {
      log.Println("on connection")
      so.Join("chat")
      so.On("chat message", func(msg string) {
          log.Println("emit:", so.Emit("chat message", msg))
          so.BroadcastTo("chat", "chat message", msg)
      })
      so.On("disconnection", func() {
          log.Println("on disconnect")
      })
   })

   server.On("error", func(so socketio.Socket, err error) {
      log.Println("error:", …
Run Code Online (Sandbox Code Playgroud)

go websocket cors socket.io

0
推荐指数
1
解决办法
8879
查看次数

如何在Pusher中指定邮件的收件人?

我有一个应用程序Laravel,Pusher用于实时通知.我的问题是,我想过滤邮件的收件人.我只希望登录的管理员接收或查看Pusher发送的通知.非管理员的其他用户不得接收通知.我怎么能在Pusher做到这一点?

access-levels push-notification websocket laravel pusher

0
推荐指数
1
解决办法
334
查看次数

如何在scala中使方法同步?

在这个方法中,我想看到实际的响应(result.toJson.toString或StatusCodes.InternalServerError.toString)返回而不是空字符串.我怎样才能做到这一点?

def process(msgIn : WebSocketMessageIn, service : ActorRef) : String = {
  import model.Registration
  import model.RegistrationJsonProtocol._

  implicit val timeout = Timeout(10 seconds)

  msgIn.method.toUpperCase match {
    case "POST" =>
      log.debug(s"Handing POST message with body ${msgIn.body}")
      val registration = msgIn.body.convertTo[Registration]
      val future = (service ? PostRegistrationMessage(registration)).mapTo[Registration]
      var response = ""
      future onComplete {
        case Success(result) =>
          response = result.toJson.toString

        case Failure(e) =>
          log.error(s"Error: ${e.toString}")
          response = StatusCodes.InternalServerError.toString
      }
      response

    case "PUT" =>
      s"Handing PUT message ${msgIn.body}"
  }
}
Run Code Online (Sandbox Code Playgroud)

以下是调用该方法并将响应发送到websocket的代码片段

case Message(ws, msg, …
Run Code Online (Sandbox Code Playgroud)

asynchronous scala websocket

0
推荐指数
1
解决办法
2643
查看次数

使用Python和Tornado运行后台任务

我已经做了几年的Web应用程序开发人员,现在正在使用Python和Robotics.

我已经设置了Python Tornado来运行基于javascript websocket命令.这很棒,移动电机,打开LED.不是问题.

我想做的2件事.

1)闪烁LED

2)使用超声波范围传感器,停止FORWARD动作IF范围<X

我知道如何在自己内部做两件事.

但是,我的python方式如下

WS.py

import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
import time
# My Over python module
import tank

class WSHandler(tornado.websocket.WebSocketHandler):

    def open(self):

        print 'New connection was opened'
        self.write_message("Welcome to my websocket!")
        tank.init()

    def on_message(self, message):
        print 'Incoming message:', message
        tank.run(message)
        self.write_message("You said: " + message)

   def on_close(self):
       tank.end()
       print 'Connection was closed...'
   def check_origin(self, origin):
       return True
application = tornado.web.Application([
  (r'/ws', WSHandler),
])

if __name__ == "__main__":
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(8888) …
Run Code Online (Sandbox Code Playgroud)

python tornado websocket raspberry-pi raspberry-pi2

0
推荐指数
1
解决办法
1593
查看次数

如何在浏览器中使用websocket npm库?

我开始学习node.js. 我想使用websockets创建一个聊天应用程序.在控制台中,它工作正常.但是在浏览器中我得到了

未捕获的ReferenceError:未定义require

我用Google搜索并看到了这个答案.我想尝试浏览,但它不能正常工作.这是我的js文件

client.js:

var WebSocket = require('websocket');
var connector;
var WebSocketClient = WebSocket.client;
var client = new WebSocketClient();


client.on('connectFailed', function (error) {
    console.log('Connect Error: ' + error.toString());
    setTimeout(self.connect, 2000);
});

client.on('connect', function (connection) {
    connector = connection;
    console.log('WebSocket Client Connected');
    connection.on('error', function (error) {
        errorStr = error.toString();
        console.log("Connection Error: " + errorStr);
    });
    connection.on('close', function () {
        console.log('echo-protocol Connection Closed');
    });
    connection.on('message', function (message) {
        if (message.type === 'utf8') {
            console.log("Received: '" + message.utf8Data + …
Run Code Online (Sandbox Code Playgroud)

websocket node.js browserify

0
推荐指数
1
解决办法
4250
查看次数

Redis Pub / Sub导致Web套接字连接挂起

我正在构建一个通过Web套接字连接到服务器的Web应用程序。服务器组件是基于一个小Ruby应用程序sinatraredisfaye-websocket。服务器正在Phusion Passenger上运行。一个单独的updater守护进程不断从各种来源获取更新,并将其发布到redis(使用redisgem和Redis::publish)。

为了将更新推送给客户端,我在Sinatra应用程序中尝试了以下操作:

get '/' do
  if Faye::WebSocket.websocket?(request.env)
    store = Redis.new
    ws = Faye::WebSocket.new(request.env)

    ws.on(:open) do |event|
      store.incr('connection_count')
      puts 'Client connected (connection count: %s)' % store.get('connection_count')
    end

    ws.on(:close) do |event|
      store.decr('connection_count')
      puts 'Client disconnected (connection count: %s)' % store.get('connection_count')
    end

    ws.rack_response

    store.subscribe(:updates) do |on|
      on.message do |ch, payload|
        puts "Got update"
        ws.send(payload) if payload
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这仅部分起作用。客户端可以成功连接,也可以接收更新,但store.incrand store.decr调用不起作用。另外,连接似乎没有正确关闭-当我启动多个客户端时,我注意到连接堆积,乘客服务器最终停止工作。

日志输出:

devserver_1 | App 614 stdout: Got …
Run Code Online (Sandbox Code Playgroud)

ruby sinatra websocket redis

0
推荐指数
1
解决办法
634
查看次数