亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? testeventpushsources3.java

?? Java下Comet的實現框架Pushlet例子。 實現實時推送數據到客戶端。 服務器每隔30-500MS產生一個隨機數
?? JAVA
字號:
// Copyright (c) 2000 Just Objects B.V. <just@justobjects.nl>
// Distributable under LGPL license. See terms of license at gnu.org.

package nl.justobjects.pushlet.test;

import nl.justobjects.pushlet.core.Dispatcher;
import nl.justobjects.pushlet.core.Event;
import nl.justobjects.pushlet.core.EventSource;
import nl.justobjects.pushlet.util.Rand;

import hfut.wispy.ListBuffer;
import hfut.wispy.RFIDReader;
import hfut.wispy.TagDataPacket;
import hfut.wispy.webservice.GlobalSettings;
import hfut.wispy.webservice.RFIDReaderSettings;
import hfut.wispy.webservice.RFIDReaderSettings.ReaderModel;

import java.util.Date;

/**
 * Event sources that push events (for testing).
 * 
 * @author Just van den Broecke - Just Objects &copy;
 * @version $Id: TestEventPushSources.java,v 1.10 2007/11/09 13:16:57 justb Exp $
 */
public class TestEventPushSources3 {

	static public class AEXStocksEventPushSourceABN {
		String pageURL = "http://ri2.rois.com/E36msPtnZC0e15CVb4KT97JAGfGSfCcrvv6*FcyZIoNyh/CTIB/RI2APISNAP?RIC=0%23.AEX&FORMAT=XML";
		// This could be further expanded: getting the Reuters AEX stocks
		// as XML from ABN with this URL, but we may get into legal problems...
	}

	/**
	 * Produces events from REAL stocks from the AEX.
	 */
	static public class AEXStocksEventPushSource1 implements EventSource,
			Runnable {

		Thread thread = null;

		boolean active = false;

		public static Date lastUpdateDate = new Date();

		private int restarts = 1;

		static RFIDReader reader = new RFIDReader();

		static ListBuffer listBuffer = ListBuffer.getInstance();

		static RFIDReaderSettings readerSettings = new RFIDReaderSettings(
				ReaderModel.YWG804_6c_cycle);

		static GlobalSettings globalSettings = GlobalSettings.getInstance();

		public AEXStocksEventPushSource1() {
		}

		/**
		 * Activate the event source.
		 */
		synchronized public void activate() {
			// e("activating...");
			// Stop a possibly running thread
			stopThread();
			// Start new thread and
			thread = new Thread(this, "RFIDReaderPublisher-" + (restarts++));
			active = true;
			thread.start();
			p("[---Thread---] : RFIDReaderPublisher-" + restarts);
			e("activated");
		}

		synchronized public Thread getThread() {
			if (thread != null) {
				return thread;
			}
			return null;
		}

		/**
		 * Deactivate the event source.
		 */
		synchronized public void passivate() {
			e("passivating...");
			active = false;
			stopThread();
			// Mark the cache modified so we'll send the contents
			// on the next activation.
			for (int i = 0; i < listBuffer.getBufferLength(); i++) {
				listBuffer.getTagPacket(i).modified = true;
			}
			e("passivated");
		}

		/**
		 * Deactivate the event source.
		 */
		synchronized public void stop() {
		}

		public void run() {
			p("RFIDReaderPublisher thread is created. now run() called");
			// Publish cache content (if any) first.
			// publishStocks();

			int count = 2; // enforce update first
			initCache();
			updateCache();

			while (active) {
				this.thread.setPriority(Thread.MIN_PRIORITY);
				while (globalSettings.IsStartReader) {
					this.thread.setPriority(Thread.NORM_PRIORITY);
					if (count % 2 == 0) {
						updateCache();
						Date now = new Date();
						p("lastUpdateDate : "
								+ (now.getTime() - lastUpdateDate.getTime() + "毫秒"));
						lastUpdateDate = now;
					}
					count++;

					// Do updates for changed stock rates
					publishStocks();

					// If we were interrupted just return.
					if (thread == null || thread.isInterrupted()) {
						break;
					}
					try {
						Thread.sleep(Rand.randomLong(500, 8000));
					} catch (InterruptedException ie) {
						break;
					}
				}
			}
			// Loop terminated: reset vars
			thread = null;
			active = false;
		}

		private void publishStocks() {
			// p("sending updates");
			// Publish only modified stocks from the cache
			for (int i = 0; i < listBuffer.getBufferLength(); i++) {
				TagDataPacket nextStock = listBuffer.getTagPacket(i);
				// Publish modified stocks
				if (nextStock.modified) {
					publishStock(i, nextStock.TagData, nextStock.HaveReadTimes,
							nextStock.ReadTime);
					nextStock.modified = false;
					// wispy no sleep test
					try {
						Thread.sleep(200);
					} catch (InterruptedException ie) {
						return;
					}
				}
				// test---不管modified了,全都push一把
				// publishStock(i, nextStock.TagData, nextStock.HaveReadTimes,
				// nextStock.ReadTime);
			}
		}

		public void publishStock(int index, byte[] tagData, int HaveReadTimes,
				Date ReadTime) {
			Event event = Event.createDataEvent("/stocks/aexonlineRFIDReader");
			event.setField("number", index + "");
			event.setField("name", RFIDReader.Bytes2HexString(tagData));
			event.setField("rate", HaveReadTimes + "");
			event.setField("time", ReadTime.toString());
			Dispatcher.getInstance().multicast(event);
		}

		public void publishStock(int index, String name, String rate,
				String time) {
			Event event = Event.createDataEvent("/stocks/aexonlineRFIDReader1");
			event.setField("number", index + "");
			event.setField("name", name);
			event.setField("rate", rate);
			event.setField("time", time);
			// p("publish: nr=" + index + " name=" + name + " rate=" + rate);
			// p("[sending updates] --rate-- : " + rate);
			// p("[sending updates] --time-- : " + time);
			Dispatcher.getInstance().multicast(event);
		}

		private void stopThread() {
			if (thread != null) {
				thread.interrupt();
				thread = null;
			}
		}

		public static void initCache() {
			if (!reader.GetOpenState())
				reader.Open();
		}

		public static void updateCache() {
			reader.Identify(readerSettings.Antenna, readerSettings.IsCycleRead);
			for (int i = 0; i < readerSettings.CycleReadTime; i++) {
				TagDataPacket tag = new TagDataPacket(reader.Report());
				p(tag.getFullStr());
				listBuffer.MyAdd(tag);
				p("now listBuffer length = " + listBuffer.getBufferLength());
			}
			reader.PowerOff();
		}

		public boolean isActive() {
			return active;
		}

		public void setActive(boolean active) {
			this.active = active;
		}

	}

	/**
	 * Util: stderr print method.
	 */
	public static void e(String s) {
		System.out.println("RFIDReaderEventPush: " + s);
	}

	/**
	 * Util: stdout print method.
	 */
	public static void p(String s) {
		System.out.println(s);
	}

	public static void main(String[] args) {
		// new TestEventPushSources$AEXStocksEventPushSource();
	}
}

/*
 * $Log: TestEventPushSources.java,v $ Revision 1.10 2007/11/09 13:16:57 justb
 * use Rand from util package (and and Rand.java to pushlet client jar
 * 
 * Revision 1.9 2005/02/28 09:14:56 justb sessmgr/dispatcher factory/singleton
 * support
 * 
 * Revision 1.8 2005/02/21 16:59:17 justb SessionManager and session lease
 * introduced
 * 
 * Revision 1.7 2005/02/18 10:07:23 justb many renamings of classes (make names
 * compact)
 * 
 * Revision 1.6 2005/02/18 09:54:15 justb refactor: rename Publisher Dispatcher
 * and single Subscriber class
 * 
 * Revision 1.5 2004/09/03 22:35:37 justb Almost complete rewrite, just checking
 * in now
 * 
 * Revision 1.4 2004/03/10 15:45:55 justb many cosmetic changes
 * 
 * Revision 1.3 2003/08/15 08:37:41 justb fix/add Copyright+LGPL file headers
 * and footers
 * 
 * Revision 1.2 2003/05/18 16:15:08 justb support for XML encoded Events
 * 
 * Revision 1.1.1.1 2002/09/24 21:02:33 justb import to sourceforge
 * 
 * Revision 1.1.1.1 2002/09/20 22:48:20 justb import to SF
 * 
 * Revision 1.1.1.1 2002/09/20 14:19:02 justb first import into SF
 * 
 * Revision 1.6 2001/02/18 23:45:13 just fixes for AEX
 * 
 * Revision 1.5 2000/10/30 14:16:09 just no message
 * 
 * Revision 1.4 2000/09/24 21:02:43 just chnages due to changed webpage in
 * debeurs.nl
 * 
 * Revision 1.3 2000/08/31 12:49:50 just added CVS comment tags for log and
 * copyright
 * 
 * 
 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美bbbbb| 国产99精品国产| 中文字幕在线一区| 91精品国产欧美日韩| 成人免费视频视频| 麻豆国产欧美一区二区三区| 中文字幕免费在线观看视频一区| 欧美高清视频在线高清观看mv色露露十八| 国产精品亚洲人在线观看| 亚洲第一av色| 亚洲三级久久久| 国产亚洲精品7777| 欧美一区二区三区视频免费 | 伦理电影国产精品| 一区二区视频在线| 中文字幕一区在线观看视频| 久久久国产精华| 欧美成人a∨高清免费观看| 欧美探花视频资源| 91蜜桃在线免费视频| 岛国精品在线观看| 国产精品资源站在线| 精品一区二区在线视频| 日日欢夜夜爽一区| 亚洲成人你懂的| 一区二区久久久久| 亚洲综合一区二区精品导航| 亚洲人成网站色在线观看| 国产精品久久久久久妇女6080| 久久夜色精品国产噜噜av| 日韩午夜精品视频| 欧美成人精品高清在线播放| 日韩一区二区在线看片| 日韩一区二区三区视频在线| 欧美猛男超大videosgay| 欧美军同video69gay| 欧美精选午夜久久久乱码6080| 在线视频你懂得一区二区三区| 91影视在线播放| 色综合色综合色综合色综合色综合| 波多野结衣在线一区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 久久综合久久鬼色中文字| 欧美大片在线观看| 欧美一区二区三区公司| 日韩三级中文字幕| 精品国产人成亚洲区| 26uuu国产日韩综合| 欧美精品一区二区三| 国产亚洲欧美中文| 亚洲欧洲精品天堂一级| 亚洲一区日韩精品中文字幕| 亚洲国产欧美在线| 蜜桃一区二区三区在线观看| 国内成人免费视频| 99在线精品一区二区三区| 欧美亚洲国产怡红院影院| 69堂亚洲精品首页| xnxx国产精品| 亚洲色欲色欲www| 天天影视涩香欲综合网| 极品少妇xxxx精品少妇偷拍| 成人免费精品视频| 欧美亚洲国产一区在线观看网站| 91麻豆精品国产91久久久使用方法 | 韩国女主播一区二区三区| 国产高清一区日本| 在线一区二区观看| 欧美一级午夜免费电影| 国产午夜久久久久| 亚洲精品中文字幕在线观看| 琪琪一区二区三区| 国产成人精品免费看| 在线亚洲精品福利网址导航| 欧美一级淫片007| 国产精品成人在线观看| 日韩精品成人一区二区在线| 风间由美一区二区三区在线观看 | 成人天堂资源www在线| 欧美日韩午夜在线| 久久久久久久久久久电影| 一区二区三区视频在线观看| 久久99精品国产.久久久久久| 福利视频网站一区二区三区| 欧美日本国产视频| 国产欧美精品国产国产专区| 亚洲444eee在线观看| 国产成人福利片| 3atv一区二区三区| 国产精品水嫩水嫩| 日本欧美大码aⅴ在线播放| av色综合久久天堂av综合| 欧美一区二区三区不卡| 自拍偷拍亚洲欧美日韩| 久久99深爱久久99精品| 在线精品观看国产| 国产女同互慰高潮91漫画| 日本网站在线观看一区二区三区| 97精品久久久午夜一区二区三区| 日韩欧美国产综合在线一区二区三区 | 欧美三电影在线| 国产精品久久精品日日| 久久爱www久久做| 欧美日韩精品欧美日韩精品| 欧美韩日一区二区三区四区| 蜜臀国产一区二区三区在线播放| 在线免费观看不卡av| 国产精品嫩草影院av蜜臀| 乱一区二区av| 666欧美在线视频| 一区二区三区在线视频免费| 成人激情文学综合网| 久久影视一区二区| 蜜臀av一区二区在线观看| 欧美欧美午夜aⅴ在线观看| 亚洲免费av高清| 99re成人在线| 中文字幕字幕中文在线中不卡视频| 国产麻豆一精品一av一免费 | 久久久久亚洲综合| 久久se这里有精品| 日韩免费在线观看| 蜜乳av一区二区三区| 欧美蜜桃一区二区三区| 午夜精品aaa| 欧美日韩一区二区三区在线看 | 国产精品你懂的在线欣赏| 国产另类ts人妖一区二区| 精品日韩欧美在线| 精油按摩中文字幕久久| 欧美变态口味重另类| 久久成人免费网| 久久综合99re88久久爱| 国产一区二区三区精品视频| 欧美精品一区男女天堂| 狠狠色丁香婷婷综合| 久久这里只有精品视频网| 国产精品一二三| 国产精品毛片无遮挡高清| www.成人在线| 亚洲另类春色国产| 欧美四级电影在线观看| 日本伊人色综合网| 欧美电视剧免费观看| 国产精品中文有码| 久久久www成人免费毛片麻豆| 国产精品一区二区三区网站| 亚洲国产精品高清| 一本色道久久加勒比精品| 亚洲国产综合在线| 日韩欧美在线影院| 国产一区二区调教| 日韩毛片视频在线看| 欧美色图天堂网| 美女一区二区三区| 国产亚洲美州欧州综合国 | 欧美一级夜夜爽| 国产精选一区二区三区| 国产精品久久久久桃色tv| 欧美亚洲一区二区在线| 久久成人免费网| 中文字幕精品一区二区三区精品 | 欧美日韩在线免费视频| 日本午夜一本久久久综合| 国产三级精品三级| 在线观看网站黄不卡| 久久国产免费看| 1024国产精品| 欧美卡1卡2卡| 国产乱一区二区| 亚洲欧美日韩小说| 日韩午夜激情视频| 91亚洲男人天堂| 美国av一区二区| 日本一区二区电影| 欧美日韩国产在线播放网站| 国产在线精品一区在线观看麻豆| 最好看的中文字幕久久| 日韩欧美中文一区二区| 91丨porny丨最新| 久久精品国产久精国产爱| 亚洲男人电影天堂| 2024国产精品| 欧美日韩在线播放三区| 国产成人一级电影| 日韩高清国产一区在线| 国产精品成人一区二区艾草| 欧美一级理论片| 一本到高清视频免费精品| 国产一区 二区| 三级欧美韩日大片在线看| 国产精品传媒视频| 久久综合久久久久88| 欧美日韩免费高清一区色橹橹| 国产一区二区三区高清播放| 亚洲一区二区视频在线观看| 亚洲国产精品成人综合| 日韩欧美黄色影院| 在线不卡欧美精品一区二区三区| 成人v精品蜜桃久久一区|