小编Bir*_*ibu的帖子

zmq.error.ZMQError:没有这样的设备

我在我的程序中遇到了这个错误:

Traceback (most recent call last):
File "scriptA.py", line 17, in <module>
socketPub.bind("tcp://localhost:%s"% portPub)
File "socket.pyx", line 434, in zmq.backend.cython.socket.Socket.bind (zmq/backend/cython/socket.c:3928)
File "checkrc.pxd", line 21, in zmq.backend.cython.checkrc._check_rc (zmq/backend/cython/socket.c:6058)
zmq.error.ZMQError: No such device
Run Code Online (Sandbox Code Playgroud)

这是我为重现它所做的一个简单脚本:

import zmq
import random
import sys
import time

port = "5566"
if len(sys.argv) > 1:
    port =  sys.argv[1]
    int(port)

portSub = "5556"
context = zmq.Context()

portPub = "5566"
#contextPub = zmq.Context()
socketPub = context.socket(zmq.PUB)
socketPub.bind("tcp://localhost:%s"% portPub)

socket = context.socket(zmq.SUB)
socket.connect("tcp://localhost:%s"% portSub)
socket.setsockopt(zmq.SUBSCRIBE,'')


while True:
    socket.send("BB", zmq.SNDMORE)
    socket.send("16", …
Run Code Online (Sandbox Code Playgroud)

python-2.7 pyzmq

4
推荐指数
1
解决办法
5122
查看次数

C++ 中互斥体的单例类

我正在努力让这项工作正常进行,但似乎有一些我不完全理解的事情。

\n\n

我在一个文件中有一个多线程应用程序(2个类和我在其中创建线程和所有内容的真正的主程序)。我想分成3个文件。一个用于每个类(及其标题),一个用于主类。

\n\n

我有几个 mutices 和一个队列来在线程之间共享消息并随时锁定和解锁它们。

\n\n

我想编写一个单例类,以便所有类都可以共享互斥锁:

\n\n

标头:

\n\n
#ifndef COMMONSINGLETON_H\n#define COMMONSINGLETON_H\n\n#include <mutex>          // std::mutex\n#include <queue>\n\nclass CommonSingleton{\n    private:\n        static std::mutex               mutex_w_b;\n        //static std::mutex               mutex_wifi_ok;\n        //static std::queue <std::string> queue_w_b;\n\n    public:\n        static CommonSingleton& getInstance();\n        std::mutex GetMutexWB();\n        //std::mutex GetMutexWiFiOk();\n        //std::queue <std::string> GetQueueWB();\n    private:\n        CommonSingleton() {};\n        CommonSingleton(CommonSingleton const&);\n        void operator=(CommonSingleton const&);\n};\n#endif\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 .cpp 文件:

\n\n
#include "commonsingleton.h"\n\nstatic CommonSingleton& CommonSingleton::getInstance(){\n    static CommonSingleton instance;\n    return instance;\n}\nstd::mutex CommonSingleton::GetMutexWB(){\n    return mutex_w_b;\n}\n/*std::mutex CommonSingleton::GetMutexWiFiOk(){\n    return mutex_wifi_ok;\n}\nstd::queue <std::string> CommonSingleton::GetQueueWB(){\n   return queue_w_b;\n}*/\n
Run Code Online (Sandbox Code Playgroud)\n\n

在我的主要内容中,我有这个来测试互斥体:

\n\n
CommonSingleton::getInstance().GetMutexWB.lock();\n
Run Code Online (Sandbox Code Playgroud)\n\n

但现在我评论了,只是为了弄清楚如何编译。这是我得到的错误: …

c++ multithreading mutex c++11

3
推荐指数
1
解决办法
3393
查看次数

将日志文件添加到苗条框架

我是Slim的新手。在过去的3-4年中,我一直在使用php,但我始终从头开始做所有事情。我想学习一些我必须要做的休息服务的框架。

我已经在一个苗条的网页上遵循了一个教程,以使简单的休息服务正常工作,但是我想添加一个日志系统,以查看出现问题或异常的情况。

这是我所知道的:

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require '../Slim/Slim.php';

\Slim\Slim::requisterAutoloader();

$application = new \Slim\App();
$logger = $application->log;
$logger->setEnabled(true);
$logger->setLevel(\Slim\Log::DEBUG);

$application->get(
  '/hello/user',
  function ()
  {
    GLOBAL $logger;
    $logger->info("starting the handling function");
    echo "<data>response</data>";
    $logger->info("ending handling function");
  });

$application->run();
?>
Run Code Online (Sandbox Code Playgroud)

我也尝试了独白,但没有成功。

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

require '../vendor/autoload.php';


$logger = new \Flynsarmy\SlimMonolog\Log\MonologWriter(array(
    'handlers' => array(
        new \Monolog\Handler\StreamHandler('./logs/'.date('Y-m-d').'.log'),
    ),
));

$app = new Slim\App(array(
 'log.writer' => $logger,
));


$app->get('/hello/{name}', function …
Run Code Online (Sandbox Code Playgroud)

php slim

2
推荐指数
1
解决办法
5448
查看次数

更新OpenLayers弹出窗口

我想在我的地图中更新一些弹出窗口,但我无法做到这一点.

首先,我创建了一些标记,然后使用下一个代码创建一个与它们关联的弹出窗口.每个标记一个弹出窗口:

 popFeature = new OpenLayers.Feature(markers, location); 
                         popFeature.closeBox = true;
                         popFeature.popupClass =     OpenLayers.Class(OpenLayers.Popup.FramedCloud, {
                                 'autoSize': true
                         });
                         popFeature.data.popupContentHTML = "hello";                         
popFeature.data.overflow = (false) ? "auto" : "hidden";     
                         var markerClick = function (evt) {
                                if (this.popup == null) {
                                    this.popup = this.createPopup(this.closeBox);
                                    map.addPopup(this.popup);
                                    this.popup.show();
                                } else {
                                    this.popup.toggle();
                                }
                                currentPopup = this.popup;
                                OpenLayers.Event.stop(evt);
                         };
                         mark.events.register("mousedown",     popFeature, markerClick);
Run Code Online (Sandbox Code Playgroud)

之后,我将新标记添加到我的标记图层.

一切都很好,直到这里,但是,我想稍后更新popupcontentHTML,我不知道如何访问该值.

我读了OL API,但我不明白如何得到它.我迷失了功能,事件,扩展......

我想知道我是否可以访问该属性并写下其他单词.

popup openlayers marker

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

在yocto中编译c ++程序

我已经按照教程在我的yocto图像中包含了一个C程序.它就像一个魅力,现在我在我的机器上运行helloworld脚本.

我想用c ++做同样的事情,因为我需要加载一个使用opencv的程序.

我尝试用cpp改变c,但尽管如此,它失败了.还有什么需要改变以使其工作?你能指点我那里的任何教程或例子吗?我用一个简单的例子找不到合适的.

c++ bitbake yocto

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

标签 统计

c++ ×2

bitbake ×1

c++11 ×1

marker ×1

multithreading ×1

mutex ×1

openlayers ×1

php ×1

popup ×1

python-2.7 ×1

pyzmq ×1

slim ×1

yocto ×1