社区
基础编程
帖子详情
急!!请问php中是否可以接收来自c程序往消息队列中放的消息
dangdangstar
2005-06-02 05:29:13
我试过php往消息队列中发消息,php可以正常接收;但却接收不到c程序写的函数,往消息队列中发送的消息,还请高手指教,急!
...全文
204
6
打赏
收藏
急!!请问php中是否可以接收来自c程序往消息队列中放的消息
我试过php往消息队列中发消息,php可以正常接收;但却接收不到c程序写的函数,往消息队列中发送的消息,还请高手指教,急!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vitalgg
2005-06-03
打赏
举报
回复
可以的.
检查你的 c 与 php 的操作 message queue 参数是否一致.
helloyou0
2005-06-03
打赏
举报
回复
应该是可以的。但是没试过
dangdangstar
2005-06-03
打赏
举报
回复
这是php程序,请大家帮忙看看,为何php收不到来自c发送的消息队列的消息
<?
$MSGKEY = 2345;
$msg_id = msg_get_queue($MSGKEY, 0600);
echo $msg_id;
// $MSGREV = 2346;
// $msgrev_id = msg_get_queue($MSGREV,0600);
$xml="nihao";
// if (!msg_send($msg_id,1001,$xml, true, true, $msg_err))
// echo "Msg not sent because $msg_err\n";
// echo strlen($xml);
// for($i=0;$i<100;)
//{
// echo"hello";
// $i++;
//}
$sflag=MSG_IPC_NOWAIT;
if((msg_receive ($msg_id,0,$msg_type,18566,$msg,true,$sflag,
$msg_error))==FALSE)
{
echo $msg_type;
echo "failed,$msg_error";
$errormsg= posix_strerror($msg_error);
echo $errormsg;
echo $msg;
}
else
{
echo $msg;
}
?>
dangdangstar
2005-06-03
打赏
举报
回复
这是c程序
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include<stdio.h>
//#include<stdlib.h>
//#include<linux/ipc.h>
//#include<linux/msg.h>
#define BUFFER 2048
struct msgtype
{
int mtype;
//char * buffer;
char buffer[BUFFER+1];
};
main()
{
int qid,sflags;
int MSGKEY = 2345;
int result,length;
struct msgtype msg;
int i = 1;
qid=msgget(MSGKEY,0600);
printf("the key of msg is %d",qid);
msg.mtype=1001;
msg.buffer[0]='a';
msgsnd(qid,&msg,sizeof(msg),sflags);
}
dangdangstar
2005-06-02
打赏
举报
回复
因为php支持消息队列,有往消息队列中收发消息的函数.但是我用c写的往同一个队列中放消息,为和php从消息队列中收不到呢,总说msg_receive(): message corrupted
-神仙-
2005-06-02
打赏
举报
回复
什么消息队列???
RabbitMq
消息
队列
指南.docx
RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级
消息
队列
协议)协议实现的
消息
队列
,它是一种应用
程序
之间的通信方法,
消息
队列
在分布式系统开发
中
应用非常广泛。 MQ 为Message Queue ,
消息
队列
是应用程 和应用
程序
之间的通信方法。 · RabbitMQ 是一个开源的, 在AMQP 基础上完 整的, 可复用的企业
消息
系统。 支持主流的操作系统, Linux 、Windows 、 MacOX 等 多种开发语言支持, Java 、Python 、 Ruby 、.NET 、
PHP
、C/C++ 、node.js 等。
php
7可用 rabbitmq-c 插件
php
7可用的rabbitmq扩展
程序
需要配合amqp-1.9.0扩展才能使用
php
扩展amqp
php
的一个扩展包,需要
php
ize编译出so库,在
php
.ini
中
进行配置
amqp1.6源码
php
-amqp扩展的安装可以下载此源码,我是在mac电脑下编译安装,亲测可用,在此之前需要安装依赖rabbitmq-c
rabbitmq研究与应用
谈到RabbitMQ,首先要谈到MQ和AMQP. MQ全称为Message Queue,
消息
队列
(MQ)是一种应用
程序
对应用
程序
的通信方法。应用
程序
通过写和检索出入列队的针对应用
程序
的数据(
消息
)来通信,而无需用专用连接来链接它们。 AMQP:Advanced Message Queuing Protocol,高级
消息
队列
协议,是应用层协议的一个开放标准,为面向
消息
的
中
间件设计。AMQP的主要特征是面向
消息
、队列、路由(包括点对点和发布/订阅)、可靠性、安全性要求很严格。
基础编程
21,891
社区成员
140,342
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章