導航:首頁 > 源碼編譯 > zmq編譯debug版本

zmq編譯debug版本

發布時間:2022-09-21 06:30:51

㈠ windows套接字怎麼和zmq連接

Windows下VS2008使用ZeroMQ說明 一、下載ZeroMQ 二、編譯ZeroMQ庫文件 解壓zeromq-4.0.3.zip文件,進入builds\msvc目錄,用VS打開*.sln工程文件,編譯生成解決方案。編譯完成後,會在lib目錄下生成dll和lib文件

㈡ mac brew 怎麼安裝msql 5.5

Brew 是 Mac 下面的包管理工具,通過 Github 託管適合 Mac 的編譯配置以及 Patch,可以方便的安裝開發工具。 Mac 自帶ruby 所以安裝起來很方便,同時它也會自動把git也給你裝上。官方網站: brew/Homebrew/homebrew/go/install)" 使用以下方法可以查看brew是否安裝成功,以及目前的版本: liondeMacBook-Pro:~ lion$ brew -v Homebrew 0/project/machomebrew/Bottles/curl-7/freetds/stable/freetds-0/project/machomebrew/Bottles/gmp-6.0.0a.mavericks.bottle.tar.gz ######################################################################## 100.0% ==> Pouring gmp-6.0.0a.mavericks.bottle.tar.gz /usr/local/Cellar/gmp/6.0.0a: 15 files, 3.2M ==> Installing php55 ==> Downloading /get/php-5.5.15.tar.bz2/from/this/mirror Already downloaded: /Library/Caches/Homebrew/php55-5.5.15 ==> ./configure --prefix=/usr/local/Cellar/php55/5.5.15 --localstatedir=/usr/local/var --sysconfdir=/usr/local/etc/php/5.5 -- ==> make ==> make install ==> /usr/local/Cellar/php55/5.5.15/bin/pear config-set php_ini /usr/local/etc/php/5.5/php.ini ==> Caveats The php.ini file can be found in: /usr/local/etc/php/5.5/php.ini ✩✩✩✩ PEAR ✩✩✩✩ If PEAR complains about permissions, 'fix' the default PEAR permissions and config: chmod -R ug+w /usr/local/Cellar/php55/5.5.15/lib/php pear config-set php_ini /usr/local/etc/php/5.5/php.ini ✩✩✩✩ Extensions ✩✩✩✩ If you are having issues with custom extension compiling, ensure that you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH: PATH="/usr/local/bin:$PATH" PHP55 Extensions will always be compiled against this PHP. Please install them using --without-homebrew-php to enable compiling against system PHP. ✩✩✩✩ PHP CLI ✩✩✩✩ If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc, ~/.zshrc, ~/.profile or your shell's equivalent configuration file: export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH" ✩✩✩✩ FPM ✩✩✩✩ To launch php-fpm on startup: * If this is your first install: mkdir -p ~/Library/LaunchAgents cp /usr/local/Cellar/php55/5.5.15/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist * If this is an upgrade and you already have the homebrew.mxcl.php55.plist loaded: launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist cp /usr/local/Cellar/php55/5.5.15/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist The control script is located at /usr/local/Cellar/php55/5.5.15/sbin/php55-fpm Mountain Lion comes with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH: PATH="/usr/local/sbin:$PATH" You may also need to edit the plist to use the correct "UserName". Please note that the plist was called 'homebrew-php.josegonzalez.php55.plist' in old versions of this formula. To have launchd start php55 at login: ln -sfv /usr/local/opt/php55/*.plist ~/Library/LaunchAgents Then to load php55 now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php55.plist ==> Summary /usr/local/Cellar/php55/5.5.15: 477 files, 43M, built in 3.9 minutes 過程中如果出現configure: error: Cannot find OpenSSL's <evp.h>這樣的錯誤,請執行以下命令,將xcode進行更新: xcode-select --install 在PHP5安裝完成的提示中寫到,如何進行PHP5和mac自帶的php以及php-fpm替換,執行以下命令後,我們可以看到當前的php版本已經是最新的了: liondeMacBook-Pro:~ lion$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile liondeMacBook-Pro:~ lion$ echo 'export PATH=/usr/sbin:$PATH' >> ~/.bash_profile liondeMacBook-Pro:~ lion$ echo 'export PATH=/usr/local/sbin:$PATH' >> ~/.bash_profile liondeMacBook-Pro:~ lion$ source ~/.bash_profile liondeMacBook-Pro:~ lion$ php -v PHP 5.5.15 (cli) (built: Aug 14 2014 15:37:16) (DEBUG) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies liondeMacBook-Pro:~ lion$ 使用brew search php55-命令,可以查看還有哪些擴展可以安裝,然後執行brew install php55-XXX就可以了。 liondeMacBook-Pro:~ lion$ brew search php55- php55-amqp php55-igbinary php55-msgpack php55-runkit php55-varnish php55-apcu php55-imagick php55-mysqlnd_ms php55-scrypt php55-vld php55-augmentedtypes php55-inclued php55-oauth php55-snappy php55-wbxml php55-binpack php55-intl php55-opcache php55-solr php55-xcache php55-blitz php55-ioncubeloader php55-parsekit php55-sphinx php55-xdebug php55-boxwood php55-jsmin php55-pcntl php55-spl-types php55-xhgui php55-chdb php55-judy php55-pdflib php55-ssh2 php55-xhp php55-couchbase php55-leveldb php55-pdo-dblib php55-stats php55-xhprof php55-crypto php55-libevent php55-pdo-pgsql php55-stemmer php55-xmldiff php55-dbase php55-libvirt php55-phalcon php55-sundown php55-yac php55-dbus php55-lz4 php55-proctitle php55-svm php55-yaf php55-dmtx php55-lzf php55-propro php55-swoole php55-yaml php55-ev php55-mailparse php55-protobuf php55-thrift php55-yar php55-gearman php55-mcrypt php55-pspell php55-tidy php55-yaz php55-geoip php55-memcache php55-pthreads php55-timezonedb php55-yp php55-gmagick php55-memcached php55-raphf php55-tokyotyrant php55-yrmcds php55-graphdat php55-midgard2 php55-redis php55-twig php55-zmq php55-htscanner php55-mongo php55-redland php55-uploadprogress php55-zookeeper php55-http php55-mosquitto php55-riak php55-uuid 我安裝的是以下php5.5幾個擴展: liondeMacBook-Pro:~ lion$ brew install php55-imagick php55-igbinary php55-ev php55-gmagick php55-geoip php55-memcache php55-memcached php55-thrift php55-xdebug php55-sphinx composer 接下來我們測試php-fpm的配置是否正確,以及是否正確啟動: #測試php-fpm配置是否正確 liondeMacBook-Pro:bin lion$ php-fpm -t [14-Aug-2014 16:14:30] NOTICE: configuration file /usr/local/etc/php/5.5/php-fpm.conf test is successful liondeMacBook-Pro:bin lion$ php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -t [14-Aug-2014 16:14:48] NOTICE: configuration file /usr/local/etc/php/5.5/php-fpm.conf test is successful #啟動php-fpm liondeMacBook-Pro:bin lion$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist #查看9000埠是否在運行 liondeMacBook-Pro:bin lion$ lsof -i:9000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME php-fpm 51241 lion 8u IPv4 0xce9d0f6417637937 0t0 TCP localhost:cslistener (LISTEN) php-fpm 51243 lion 0u IPv4 0xce9d0f6417637937 0t0 TCP localhost:cslistener (LISTEN) php-fpm 51244 lion 0u IPv4 0xce9d0f6417637937 0t0 TCP localhost:cslistener (LISTEN) php-fpm 51245 lion 0u IPv4 0xce9d0f6417637937 0t0 TCP localhost:cslistener (LISTEN) #關閉掉php-fpm進程,再查看9000埠,沒有監聽了 liondeMacBook-Pro:bin lion$ ps auxgrep php-fpmgrep -v 'grep'awk '{print $2}'xargs kill -9 liondeMacBook-Pro:bin lion$ lsof -i:9000 liondeMacBook-Pro:bin lion$ 設置PHP-FPM開機運行(其實在安裝完成的提示中,也有說明): ln -sfv /usr/local/opt/php55/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php55.plist

㈢ windows下怎麼使用zeromq

Windows下VS2008使用ZeroMQ說明

一、下載ZeroMQ


二、編譯ZeroMQ庫文件

解壓zeromq-4.0.3.zip文件,進入buildsmsvc目錄,用VS打開*.sln工程文件,編譯生成解決方案。編譯完成後,會在lib目錄下生成dll和lib文件


三、編寫簡單的測試工程

  1. 用VS新建2個項目,一個是server端,一個是client端

  2. 將ZeroMQ源碼項目的include目錄下的兩個文件「zmq.h」,「zmq_utils.h」拷貝至自己新建的工程

  3. 將ZeroMQ源碼項目的lib目錄下的兩個文件「libzmq.dll」,「libzmq.lib」拷貝至自己新建的工程

  4. 將文件「zmq.h」,「zmq_utils.h」和「libzmq.lib」添加進自己新建的項目。

  5. client端代碼:

#include<stdio.h>

#include<iostream>

#include<string.h>

#include"zeroMQ/zmq.h"

#include"zeroMQ/zmq_utils.h"

intmain(intargc,char**argv)

{

//zeroMQ相關變數

void*m_context;

void*m_subscriber;

charm_pubAddr[64];

m_context=zmq_init(1);

m_subscriber=zmq_socket(m_context,ZMQ_SUB);

//訂閱

char*puberIP="127.0.0.1";

WORDpuberPort=8585;

memset(m_pubAddr,0,sizeof(m_pubAddr));

sprintf(m_pubAddr,"tcp://%s:%d",puberIP,puberPort);

//zmq_connect(m_subscriber,"tcp://localhost:5556");

zmq_connect(m_subscriber,m_pubAddr);

intret=zmq_setsockopt(m_subscriber,ZMQ_SUBSCRIBE,NULL,0);

while(1)

{

BYTEbuf[1024]={0};

DWORDbuflen=sizeof(buf);

DWORDgotLen=zmq_recv(m_subscriber,buf,buflen,0);

printf("收到發布信息:%s ",buf);

}

zmq_close(m_subscriber);

zmq_term(m_context);

return0;

}

6.server端代碼:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include"zeroMQ/zmq.h"

#include"zeroMQ/zmq_utils.h"

intmain(intargc,char**argv)

{

charpubLocalAddr[64]={0};

sprintf(pubLocalAddr,"tcp://*:%d",8585);

//zeroMQ相關變數

void*m_context;

void*m_publisher;

m_context=zmq_init(1);

m_publisher=zmq_socket(m_context,ZMQ_PUB);

zmq_bind(m_publisher,pubLocalAddr);

char*msg="1231321";

while(1)

{

DWORDsendlen=zmq_send(m_publisher,msg,strlen(msg),0);

printf("發布信息:%s ",msg);

Sleep(1000);

}

zmq_close(m_publisher);

zmq_term(m_context);

return1;

}

㈣ 如何在python中使用ZeroMQ和Docker構建微服務架構

微服務是什麼?

微服務是一種架構風格,它包括多個彼此間進行通信的獨立進程。在設計上,這些進程具有高度的可擴展性、相互解耦而且一次只完成一個較小的任務。這些服務都擁有自己的資源以及通過網路實現彼此間通信的進程。

相比於靠後端的 單體結構
來封裝所有伺服器邏輯的傳統客戶端-伺服器架構(C/S架構)而言,微服務架構的差異性體現在關注點分離(Separation of
concern)。這種設計模式更易於維護,使得靈活性、可擴展性及容錯能力更強。但是這種分布式架構所的不足之處體現在如果設計不合理就會使得排錯及維
護變得復雜。

一個簡單微服務的例子

讓我們來分析這樣的一個場景:你正在使用微服務模式構建一個電子商務網店。

對於一個電商網店上的常見商品,好比說iPhone,其詳情頁會顯示:

。產品的及基本信息

。你的購買歷史

。哪些人買了iPhone也買了手機套

。與蘋果手機相關的優惠和折扣

。店家的數據

。送貨方式

。推薦商品等等

此外,這個簡單的產品詳情頁的介面將有多個版本的來匹配web、移動端以及用於第三方應用程序的REST API。

在微服務模式中數據分布在多個服務之間。在這個例子中,服務包括:

。產品詳情服務

。商家服務

。支付服務

。優惠及折扣服務

。庫存服務

。定價服務

。回顧服務

。推薦服務

這些獨立的服務是如何被訪問的呢?

解決辦法是使用一個API網管,它作為所有客戶端的單一入口並且根據需求調用分布在整個基礎架構中的特定微服務。以上模式的行業應用案例是NetFlix API網關,它具有支持不同設備的多個API客戶端。你可以點擊此處 了解更多 。

構建一個簡單的微服務

目前有很多方法可以用於構建你的微服務。

在本文中我們將使用ZeroMQ來創建兩個進程之間的通信。ZeroMQ提供了用於在套接字之上開發可擴展、分布式systed的構建塊。它使用橢圓曲線密碼體制(第四版)來實現安全性,並提供了即刻開啟的 通訊模式 。

關於ZMQ,還有很多 優點 。MQ即是針對非同步工作而設計的線程化消息隊列。談論太多zeroMQ的內容已經超出了本文的范疇,你可以閱讀 使用zeromq 以及 zeromq用於分布式系統 。

我們要使用的另一個工具是 Docker 。本文假設讀者對Docker已經有了基礎的了解。

ZeroMQ有很多種通訊模式,為了開始我們的工作,讓我們用ZeroMQ和Flask來配置一個簡單的PUB-SUB。下圖展示了組件之間的關系和數據流。

1&3 - 一個flask伺服器運行在5000埠上而且其URL是 /downcase/ 。該URL用來接受(GET)請求,而所有格式為的請求將收到回應:答謝字元將會轉換為小寫字元並返回。

2 - 回應的消息也被發送給同一個容器中的ZMQ發布者(Publisher)

4,5 - ZMQ訂閱者(subscriber)持續監聽並將來自ZMQ伺服器的消息保存到名為 subscriber.log 的文件中

創建伺服器

首先看一下我們的Dockerfile

<pre><code>

FROM ubuntu:14.04

RUN apt-get update

RUN apt-get install -y --force-yes python python-dev python-setuptools software-properties-common gcc python-pip

RUN apt-get clean all

RUN pip install pyzmq

RUN pip install Flask

ADD zmqserver.py /tmp/zmqserver.py

Flask Port

EXPOSE 5000

Zmq Sub Server

EXPOSE 4444

CMD ["python","/tmp/zmqserver.py"]

</code></pre>

我們選擇Ubuntu
14.04作為容器操作系統。我們安裝了基本的軟體包。通過pip,我們安裝pyzmq(zeromq的Python綁定)同時也安裝了Flask。接著
我們導出埠5000(flask伺服器)和4444(發布者運行的埠)。此外,我們復制了包含所有flask及zeromq
pythond代碼的腳本文件 zmqserver.py 並運行它。

現在我們來看一下zmqserver.py的內容:

server.py

import time

import zmq

HOST = '127.0.0.1'

PORT = '4444'

_context = zmq.Context()

_publisher = _context.socket(zmq.PUB)

url = 'tcp://{}:{}'.format(HOST, PORT)

def publish_message(message):

try:

_publisher.bind(url)

time.sleep(1)

_publisher.send(message)

except Exception as e:

print "error {}".format(e)

finally: _publisher.unbind(url)

from flask import Flask

from flask import request

app = Flask(__name__)

@app.route("/downcase/", methods=['GET'])

def lowerString():

_strn = request.args.get('param')

response = 'lower case of {} is {}'.format(_strn, _strn.lower()) publish_message(response)

return response

if __name__ == '__main__':

app.run(host='0.0.0.0', debug=False)

ZMQ發布者運行在4444埠上。我們創建了一個context並且聲明了URL。我們運行了flask app,它通過URL /downcase/ 把GET獲得的參數 Param 轉換成小寫字元,這就是服務的應答。應答的字元串是 published ,它作為一個消息把相同的字元串返回給瀏覽器。

為了構建以上的Docker映像(image),我們執行以下的命令:
sudo docker build -t docker-zmq-pub

並且在該映像之上執行:
docker run --name docker-pub-server -p 5000:5000 -p 4444:4444 -t docker-zmq-pub

我們把容器中的埠5000和4444映射到這台主機上,於是無論客戶端在哪裡,它們都可以訂閱這個發布者。

訂閱者客戶端

client.py

import zmq

import sys

import time

import logging

import os

HOST = '127.0.0.1'

PORT = '4444'

logging.basicConfig(filename='subscriber.log', level=logging.INFO)

class ZClient(object):

def __init__(self, host=HOST, port=PORT):

"""Initialize Worker"""

self.host = host

self.port = port

self._context = zmq.Context()

self._subscriber = self._context.socket(zmq.SUB)

print "Client Initiated"

def receive_message(self):

"""Start receiving messages"""

self._subscriber.connect('tcp://{}:{}'.format(self.host, self.port))

self._subscriber.setsockopt(zmq.SUBSCRIBE, b"")

while True:

print 'listening on tcp://{}:{}'.format(self.host, self.port)

message = self._subscriber.recv()

print message

logging.info(

'{} - {}'.format(message, time.strftime("%Y-%m-%d %H:%M")))

if __name__ == '__main__':

zs = ZClient()

zs.receive_message()

我們聲明了發布者的IP地址及埠,當前它運行在同一個的主機上因此地址是127開頭。我們在URL tcp://IP:PORT 上進行監聽。一旦我們收到一個消息,就將其附上時間戳後記錄到名為 subscriber.log 的文件中。運行客戶端要做的所有工作就是執行 python <name_of_client_file>.py 。如果你在以上的架構上進行構建,它可以很好地充當近實時的日誌聚合引擎。

我在Unbuntu主機上對以上的代碼進行了測試。這里所用的代碼保管在 github 上。這是一個如何配置zmq、docker和python伺服器的基礎講解,在我的下一片文章中我們會使用我們已經學習的東西構建簡單的微服務。

㈤ ZMQ編譯問題C實例問題,怎麼解決

文件,新建,項目,win32控制台項目, 下面輸入 名稱,位置(項目所在路徑) 確定,下一步,完成 會生成一個 以你名稱作名字的.cpp文件 把#include "stdafx.h" 之下的都刪除了,寫你自己代碼 保留#include "stdafx.h" 然後,文件保存,保存下來 這時候,調試就不是灰的了 F7是編譯 F9設斷點 F5是啟動調試 F10逐過程執行 F11逐語句執行 默認是C++語法 如果想切換成純C語法 項目-屬性 配置屬性-高級,編譯為 ,選C就可以了

㈥ GitHub 上有哪些值得推薦的開源電子書

語言無關類
操作系統

㈦ 為啥linux使用zeromq出現未定義zmq

Windows下VS2008使用ZeroMQ說明一、下載ZeroMQ

二、編譯ZeroMQ庫文件
解壓zeromq-4.0.3.zip文件,進入builds\msvc目錄,用VS打開*.sln工程文件,編譯生成解決方案。編譯完成後,會在lib目錄下生成dll和lib文件

三、編寫簡單的測試工程
用VS新建2個項目,一個是server端,一個是client端
將ZeroMQ源碼項目的include目錄下的兩個文件「zmq.h」,「zmq_utils.h」拷貝至自己新建的工程
將ZeroMQ源碼項目的lib目錄下的兩個文件「libzmq.dll」,「libzmq.lib」拷貝至自己新建的工程
將文件「zmq.h」,「zmq_utils.h」和「libzmq.lib」添加進自己新建的項目。
client端代碼:
#include <stdio.h>
#include <iostream>
#include <string.h>
#include "zeroMQ/zmq.h"
#include "zeroMQ/zmq_utils.h"
int main(int argc,char** argv)

㈧ zeromq java 怎麼使用安裝

先裝JDK吧,這樣才能裝java軟體
選擇好安裝路徑。安裝到計算機上。下來進行一些設置。首先右鍵點我的電腦。打開屬性。然後選擇「高級」裡面的「環境變數」,在新的打開界面中的系統變數需要設置三個屬性「java_home」、「path」、「classpath」,其中在沒安裝過jdk的環境下。path屬性是本來存在的。而 java_home和classpath是不存在的。
首先點「新建」,然後在變數名寫上java_home,顧名其意該變數的含義就是java的安裝路徑,呵呵,然後在變數值寫入剛才安裝的路徑「C:\jdk1.6」.
其次在系統變數裡面找到path,然後點編輯,path變數的含義就是系統在任何路徑下都可以識別java命令,則變數值為「% java_home%\bin;%java_home%\jre\bin」,(其中「%java_home%」的意思為剛才設置java_home的值),也可以直接寫上「C:\jdk1.6\bin」
最後再點「新建」,然後在變數名上寫classpath,該變數的含義是為java載入類(class or lib)路徑,只有類在classpath中,java命令才能識別。其值為「.;%java_home%\lib;%java_home%\lib\ tools.jar (要加.表示當前路徑)」,與相同「%java_home%有相同意思」
以上三個變數設置完畢,則按「確定」直至屬性窗口消失,下來是驗證看看安裝是否成功。先打開「開始」->「運行」,打入「cmd」,進入dos系統界面。然後打「java -version」,如果安裝成功。系統會顯示java version jdk"1.6.0"。
確保安裝在C盤文件名為jdk1.6,環境變數直接復制就可以了

還有在c盤下保存下面的代碼,文件名為Myjava.java的文件。
public class Myjava{
public static void main(String args[]){
System.out.println("試試看,裝好了嗎?.");
}
}

進入cmd 打

c:
cd\
javac Myjava.java
java Myjava

如果出現 試試看,裝好了嗎?
就說明安裝好了,可以用了

閱讀全文

與zmq編譯debug版本相關的資料

熱點內容
框架源碼研讀 瀏覽:444
仙侶奇緣3如何架設伺服器 瀏覽:952
單片機RRC指令 瀏覽:887
默認加密文件密碼 瀏覽:3
怎麼用反詐中心app查詢電話 瀏覽:708
linuxvi操作 瀏覽:296
什麼是實木壓縮板 瀏覽:639
加密空投與硬分叉指南 瀏覽:15
加密wps文檔密碼忘了怎麼辦 瀏覽:685
沖程演算法 瀏覽:988
雞料與雞糞的演算法 瀏覽:833
phpif變數為空值 瀏覽:59
iot編譯器異常 瀏覽:600
代理伺服器被禁用怎麼上網 瀏覽:411
隱私加密怎麼設置密碼 瀏覽:940
馬丁靴補色解壓 瀏覽:565
在設置app上怎麼找到個人熱點 瀏覽:754
按照檔案號生成文件夾 瀏覽:1001
程序員轉方向 瀏覽:111
lol敏捷加密 瀏覽:882