nodejs 数据库操作,消息的发送和接收,模拟同步
var deasync = require('deasync'); //导入模板
var mysql=require('mysql');
var Stomp = require('stompjs');
var wordname=null;
var url=null;
var row1=null;
var row2=null;
var conn=mysql.createConnection(
{
host:'localhost',
user:'root',
password:'Aa1234',
database:'ec_spc',
port:3306
}
);
conn.connect();
select();//数据库的操作
wordname=new String(row1[0].WORD_NAME);//取得字段值
url=new String(row2[0].BAITAI_URL);//取得字段值
sendMessage(wordname,url);//发送消息
function select(){
var selectSql1="select * from spc_word_mst where WORD_ID=? limit 0,1 "
var selectSql2="select * from spc_baitai_mst where BAITAI_ID=? limit 0,1"
//SPC_Result_JH
var key1='001';
var key2='001';
var sync1=true;
var sync2=true;
conn.query(selectSql1,[key1],function(error,rows){
if(error) console.log(error)
row1=rows;
sync1=false;
});
while(sync1){deasync.sleep(400);}
conn.query(selectSql2,[key2],function(error1,rows){
if(error1) console.log(error1)
row2=rows;
sync2=false;
});
while(sync2){deasync.sleep(400);}
return row1;
return row2;
}
function sendMessage(wordname,url)
{
// Use raw TCP sockets
// 用原始的tcp接口
var client = Stomp.overTCP('localhost', 61613);
// uncomment to print out the STOMP frames
//client.debug = console.log;
var connectCallback = function(frame) {
console.log ('Connected! sending some message');
client.send('/queue/FirstQueue', {}, "wordname:" + wordname+",url:"+url);
};
var errorCallback = function(error){
console.log(error.headers.message);
};
client.connect('admin', 'admin', connectCallback,connectCallback);
}
前提 启动activemq
接收消息
var Stomp=require('stompjs');
var args=process.argv.slice(2); //get param from bat
var flag=args[0];// get flag
var key_=args[1];// get key
var clientTime=new Date().toLocaleString();
var client=Stomp.overTCP('localhost',61613);
var connectCallBack=function(frame)
{
console.log ('Connected! sending some message');
client.send('/queue/FirstQueue', {}, "flag:" + flag+",key:"+key_+",clientTime:"+clientTime);
}
var errorCallBack=function(error)
{
console.log(error.headers.message);
}
client.connect('admin','admin',connectCallBack,errorCallBack);
nodejs 数据库操作,消息的发送和接收,模拟同步。nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步nodejs 数据库操作,消息的发送和接收,模拟同步
nodejs 数据库操作,消息的发送和接收,模拟同步的更多相关文章
- 探索 OpenStack 之(15):oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收
前言:上一篇文章 只是 RabbitMQ 的科普,本文将仔细分析 Cinder 中 RabbitMQ 的各组件的使用.消息的发送和接收等.由于各流程步骤很多,本文只会使用若干流程图来加以阐述,尽量做到 ...
- Queue 消息的发送与接收(PTP 消息传递模型)
上篇博客写到了JMS两种消息模型(P2P.pub/sub)<JMS两种消息模型>.本篇博客通过一个实例来进一步了解P2P模型. Queue消息的发送与接收--PTP消息传递模型,样例: Q ...
- Udp实现消息的发送和接收、以及图片的上传
//Udp实现消息的发送和接收 import java.io.IOException; import java.net.DatagramPacket; import java.net.Datagram ...
- msgrcv,msgsnd进程通信,消息的发送和接收
//进程通信,消息的发送和接收 //client.c #include <unistd.h> #include <sys/types.h> #include <sys/s ...
- 【Spring Boot】Spring Boot之整合RabbitMQ并实现消息的发送和接收
一.项目配置 1)引入maven坐标 <!--amqp--> <dependency> <groupId>org.springframework.boot</ ...
- 用PHP尝试RabbitMQ(amqp扩展)实现消息的发送和接收
消费者:接收消息 逻辑:创建连接-->创建channel-->创建交换机-->创建队列-->绑定交换机/队列/路由键-->接收消息 <?php /********* ...
- RabbitMQ消息确认(发送确认,接收确认)
前面几篇记录了收发消息的demo,今天记录下关于 消息确认方面的 问题. 下面是几个问题: 1.为什么要进行消息确认? 2.rabbitmq消息确认 机制是什么样的? 3.发送方如何确认消息发送成功? ...
- 使用spring-rabbit测试RabbitMQ消息确认(发送确认,接收确认)
1.首先是rabbitmq的配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns ...
- DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTK fo-dicom mDCM
背景: 从DICOM网络传输一文开始,相继介绍了C-ECHO.C-FIND.C-STORE.C-MOVE等DIMSE-C服务的简单实现,博文中的代码给出的实例都是基于fo-dicom库来实现的,原因只 ...
随机推荐
- 【BZOJ1799】[AHOI2009]同类分布(动态规划)
[BZOJ1799][AHOI2009]同类分布(动态规划) 题面 BZOJ 洛谷 题解 很容易想到数位\(dp\),然而数字和整除原数似乎不好记录.没关系,直接枚举数字和就好了,这样子就可以把整除原 ...
- __AFO
博主已退役高考,博客基本就很少回复了 NOI2018的游记也没时间写了,以后补上吧[其实是自己懒] 嗯就这样,高三加油!
- c++11 条件变量 生产者-消费者 并发线程
http://baptiste-wicht.com/posts/2012/04/c11-concurrency-tutorial-advanced-locking-and-condition-vari ...
- 洛谷P3952 时间复杂度
大毒瘤...... 时隔快半年我终于花了两个小时堪堪A掉这一题...果然我还没有准备好. 想法:用DFS模拟递归. 时间复杂度的处理:每层循环取max,然后相加. 最大难点:各种繁杂而令人发指的特判. ...
- Java:返回当前内存信息
今天有个小程序想获得当前系统可用的内存信息,到百度搜索了一下,看到很多人都在说要采用JNI来做,JAVA本身没办法实现,经过半个多小时的搜索,终于找到了,原来Java本身已经有这个功能了.唉,看来是很 ...
- 学习windows编程 day3 之 自定义画笔的两种方法
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- JVM锁简介:偏向锁、轻量级锁和重量级锁
转自:https://www.aimoon.site/blog/2018/05/21/biased-locking/ 比较复杂,简略见另一篇:https://www.cnblogs.com/twohe ...
- 08-DML(插入、更新、删除)
1. 插入 (1). 插入完整数据记录 (2). 插入数据记录的一部分 (3). 插入多条记录(MySQL特有的) INSERT INTO table_name (column1,column2,co ...
- resultMap自定义某个javaBean的封装规则代码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- C++ 中 #ifndef, #define, #endif 宏定义
目的:为了保证包含的内容只被程序(include) 和编译了一次.判断预处理器常量是否已被定义. 预编译将所有头文件(#include"XXX.h")用头文件中的内容来替换,头文件 ...