【linux + lighttpd + php + zeromq】之实战训练一
来源:互联网 发布:淘宝正义哥卖假货么 编辑:程序博客网 时间:2024/05/21 14:01
三、实践
1.helloworld(码农的无敌测试程序)
测试环境说明:
1) 客户端:ZeroMQ for PHP
2) 服务端:ZeroMQ for C
客户端代码:zmq-client.php
版权说明:此代码是ZMQ官网测试代码,可能做了一点修改;
运行说明:此处默认您已经为php安装了zmq插件,详细情况请参考上一篇博客《环境搭建》;
<?php/** zmq-client.php** Hello World client* Connects REQ socket to tcp://localhost:5555* Sends "XXX" to C server, expects "YYY" back* @author Ian Barber <ian(dot)barber(at)gmail(dot)com>*/$context = new ZMQContext();// Socket to talk to serverecho "<br>Connecting to hello world server…\n";$requester = new ZMQSocket($context, ZMQ::SOCKET_REQ);$requester->connect("tcp://localhost:5555");for ($request_nbr = 0; $request_nbr != 10; $request_nbr++) { printf ("<br>Sending request %d…\n", $request_nbr); $requester->send("Hello from php client!"); $reply = $requester->recv(); printf ("<br>Received reply %d: [%s]\n", $request_nbr, $reply);}?>
客户端代码:hello_world_server.c
版权说明:此代码是ZMQ官网测试代码,可能做了一点修改;
编译说明:需要链接czmq库,此处默认您已经安装了zmq库和czmq库;
// hello_world_server.c// Hello World server#include <zmq.h>#include <stdio.h>#include <unistd.h>#include <string.h>#include <assert.h>#define BUFFER_LEN 64int main (void){ // Socket to talk to clients void *context = zmq_ctx_new (); void *responder = zmq_socket (context, ZMQ_REP); int rc = zmq_bind (responder, "tcp://*:5555"); assert (rc == 0); while (1) { char buffer [BUFFER_LEN]; zmq_recv (responder, buffer, BUFFER_LEN, 0); printf ("Received:[%s]\n", buffer); zmq_send (responder, "World from c server", strlen("World from c server"), 0); sleep (1); // Do some 'work' } return 0;}
测试结果(客户端):
测试结果(服务端):
helloworld示例到此演示完毕,下一篇博客将演示ZMQ的MDP模式:php-client、c-broker和c-server。
- 【linux + lighttpd + php + zeromq】之实战训练一
- 【linux + lighttpd + php + zeromq】之实战训练二
- 【linux + lighttpd + php + zeromq】之环境搭建
- 神器篇之ZeroMQ<一>初识ZeroMQ
- linux (apache/lighttpd) php mysql
- centos,linux,mysql,php,lighttpd手动安装
- lighttpd+php(fastcgi) 移植到arm-linux
- linux,lighttpd,php,mysql环境搭建
- lighttpd+php
- linux 安装zeromq的一关键点
- Java实战训练(一)
- linux服务器历险之使用lighttpd
- ios 实战训练之UIScrollView
- 初探ZeroMQ(一)认识ZeroMQ
- Openwrt下安装Lighttpd+PHP+Mysql总结(一)
- 安装配置Linux+lighttpd+mysql+PHP(FastCGI)
- 安装配置Linux+lighttpd+mysql+PHP(FastCGI)
- fedora linux平台下搭建lighttpd+php+sqlite
- NOIP2013第一题
- uva11992
- Go into, Hongxiutianxiang
- Android与标准Linux对比
- 由一个简单的String c=a+b的Java问题引发一点想法
- 【linux + lighttpd + php + zeromq】之实战训练一
- 【ACM训练计划】 《算法艺术与信息学竞赛》题目出处 (POJ等)
- 简单记事本及目录树形图的Java实现
- C++5中内存分配方法,堆 栈 静态存储区 全局/静态变量 自由存储区
- 破解手机的任意收费游戏
- 解决dns劫持,网页重定向114
- Android Handler的机制和原理(二)
- Composite——组合模式
- JSON 还是 XML?