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

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

?? serialportserver.java

?? This package making a GPRS connection using Tini (from Dallas Semiconductors). After connection the
?? JAVA
字號:

/*---------------------------------------------------------------------------
 * Copyright (C) 2001 Dallas Semiconductor Corporation, All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES
 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * Except as contained in this notice, the name of Dallas Semiconductor
 * shall not be used except as stated in the Dallas Semiconductor
 * Branding Policy.
 *---------------------------------------------------------------------------
 */
 
package com.eta.etatcpcomm.server;

import java.io.*;
import java.net.*;
import java.util.*;
import javax.comm.*;
import com.eta.etatcpcomm.*;

/* This class allows us to perform operations on the SerialPort object that this
 * server is talking to.  It also listens for Serial events and then notifies
 * (through the event socket) the client that such an event occurred.
 */
public class SerialPortServer extends CommPortServer implements SerialPortEventListener, Constants
{
	protected DataOutputStream eventOutputStream;

	// Package only access.  Instances can only be obtained
	// from CommPortServer.createPortServer().
	SerialPortServer( CommPortIdentifier commPortIdentifier, int tcpPort)
	{
		super(commPortIdentifier, tcpPort);
	}

	public int getPortType()
	{
		return CommPortIdentifier.PORT_SERIAL;
	}


    /* Interface method for SerialPortEventListener,
     * just turn around and send the event.
     */
	public void serialEvent(SerialPortEvent spev)
	{
		int eventType = spev.getEventType();
		if (eventType != SerialPortEvent.DATA_AVAILABLE)
		{
			sendEvent(eventType,
				(spev.getOldValue() ? 2 : 0) |
				(spev.getNewValue() ? 1 : 0));
		}
	}

	protected void dataAvailableNotification(int bytesAvailable)
	{
		// Only send DATA_AVAILABLE notification if bytesAvailable is
		// greater than zero
		if( bytesAvailable > 0)
		{
            if( DEBUG) System.out.println( "Sent DATA_AVAILABLE " + bytesAvailable);
    		sendEvent(SerialPortEvent.DATA_AVAILABLE, bytesAvailable);
		}
	}

	// This method exists soley for subclasses that need to know when
	// data has been read from the socket and written to the comm port
	// so they can, for example, inform the other end that data was written.
	protected void dataWrittenNotification(int bytesWritten)
	{
	    //the data written event back to the client lets its output stream
	    //know that its data has been recieved
        if( DEBUG) System.out.println( "Sent DATA_WRITTEN " + bytesWritten);
		sendEvent(DATA_WRITTEN, bytesWritten);
	}


    /* We use a specially dedicated socket to send events from the server to 
     * the client.  Events consist of two integers: an event type and a value.
     */
	protected void sendEvent(int eventType, int values)
	{
		if (eventSocket != null)
		{
			// All access to event socket and output stream
			// must be synchronized on event socket
			synchronized (eventSocket)
			{
				if (eventOutputStream != null)
				{
					// Send event
					try
					{
				        eventOutputStream.writeInt(eventType);
				        eventOutputStream.writeInt(values);
						eventOutputStream.flush();

                        if( DEBUG) System.out.println( "Event " + eventType + ", " + values);
					}
					catch (IOException ioe)
					{
						try
						{
							eventSocket.close();
						}
						catch (IOException ioe2) { /* Ignore */ }

						eventOutputStream = null;
						eventSocket = null;
					}
				}
			}
		}
	}

    public void addListeners()
    {
        /* this method is necessary because we want to add the listener ONLY once,
           since we only open the serial port once */
		try
		{
			((SerialPort)cp).addEventListener(this);
		}
		catch (TooManyListenersException tmle)
		{
            if( DEBUG) System.out.println( "Too many listeners!");
		}
	}
            

    /* Called from the CommPortServer class after it has gotten a connection
     * on its listening socket
     */
	protected void initialize( ServerSocket ss) throws IOException, PortInUseException
	{
		super.initialize(ss);

        /*
            if we ever want to run this where we open the serial port only when
            requested rather than just keeping it open, we will need to add
            our listener here...we'll also have to remove the listener too...
        try
		{
			((SerialPort)cp).addEventListener(this);
		}
		catch (TooManyListenersException tmle)
		{
            if( DEBUG) System.out.println( "Too many listeners!");
		}*/

		eventOutputStream = eventSocketOutputStream;
	}

	protected void handleRequest(int cmd, DataInputStream cis, DataOutputStream cos)
	throws IOException, UnsupportedCommOperationException
	{
		int p0;
		int retVal = 0;

		SerialPort sp = (SerialPort)cp;

		switch (cmd)
		{
		    case GET_BAUD_RATE:
			    retVal = sp.getBaudRate();
			    break;
		    case GET_DATA_BITS:
			    retVal = sp.getDataBits();
			    break;
		    case GET_STOP_BITS:
			    retVal = sp.getStopBits();
			    break;
		    case GET_PARITY:
			    retVal = sp.getParity();
			    break;
		    case SEND_BREAK:
		        p0 = cis.readInt();
			    sp.sendBreak(p0);
			    break;
		    case SET_FLOW_CONTROL_MODE:
		        p0 = cis.readInt();
			    sp.setFlowControlMode(p0);
			    break;
		    case GET_FLOW_CONTROL_MODE:
			    retVal = sp.getFlowControlMode();
			    break;
		    case SET_SERIAL_PORT_PARAMS:
		        int p3 = cis.readInt();
		        int p2 = cis.readInt();
		        int p1 = cis.readInt();
		        p0 = cis.readInt();
			    sp.setSerialPortParams(p0, p1, p2, p3);
			    break;
		    case SET_DTR:
		        p0 = cis.readInt();
		        if (DEBUG) System.out.println("setDTR "+(p0==TRUE));
			    sp.setDTR(p0 == TRUE);
			    break;
		    case IS_DTR:
			    retVal = sp.isDTR() ? TRUE : FALSE;
			    break;
		    case SET_RTS:
		        p0 = cis.readInt();
			    sp.setRTS(p0 == TRUE);
			    break;
		    case IS_RTS:
			    retVal = sp.isRTS() ? TRUE : FALSE;
			    break;
		    case IS_CTS:
			    retVal = sp.isCTS() ? TRUE : FALSE;
			    break;
		    case IS_DSR:
			    retVal = sp.isDSR() ? TRUE : FALSE;
			    if (DEBUG) System.out.println("isDTR??? "+(retVal==TRUE));
			    break;
		    case IS_RI:
			    retVal = sp.isRI() ? TRUE : FALSE;
			    break;
		    case IS_CD:
			    retVal = sp.isCD() ? TRUE : FALSE;
			    break;
		    case NOTIFY_ON_DATA_AVAILABLE:
		        p0 = cis.readInt();
			    sp.notifyOnDataAvailable(p0 == TRUE);
			    break;
		    case NOTIFY_ON_OUTPUT_EMPTY:
		        p0 = cis.readInt();
			    sp.notifyOnOutputEmpty(p0 == TRUE);
			    break;
		    case NOTIFY_ON_CTS:
		        p0 = cis.readInt();
			    sp.notifyOnCTS(p0 == TRUE);
			    break;
		    case NOTIFY_ON_DSR:
		        p0 = cis.readInt();
			    sp.notifyOnDSR(p0 == TRUE);
			    break;
		    case NOTIFY_ON_RING_INDICATOR:
		        p0 = cis.readInt();
			    sp.notifyOnRingIndicator(p0 == TRUE);
			    break;
		    case NOTIFY_ON_CARRIER_DETECT:
		        p0 = cis.readInt();
			    sp.notifyOnCarrierDetect(p0 == TRUE);
			    break;
		    case NOTIFY_ON_OVERRUN_ERROR:
		        p0 = cis.readInt();
			    sp.notifyOnOverrunError(p0 == TRUE);
			    break;
		    case NOTIFY_ON_PARITY_ERROR:
		        p0 = cis.readInt();
			    sp.notifyOnParityError(p0 == TRUE);
			    break;
		    case NOTIFY_ON_FRAMING_ERROR:
		        p0 = cis.readInt();
			    sp.notifyOnFramingError(p0 == TRUE);
			    break;
		    case NOTIFY_ON_BREAK_INTERRUPT:
		        p0 = cis.readInt();
			    sp.notifyOnBreakInterrupt(p0 == TRUE);
			    break;
		    default:
			    super.handleRequest(cmd, cis, cos);
			    return;
		}

		cos.writeInt(OK);
	    cos.writeInt(retVal);
	}

	private static final boolean DEBUG = false;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区美女视频| 欧美专区日韩专区| 精品奇米国产一区二区三区| 三级精品在线观看| 555www色欧美视频| 蜜桃视频免费观看一区| 欧美电影免费观看高清完整版在线 | 欧美日韩精品一区二区三区四区 | 色偷偷成人一区二区三区91 | 一区二区成人在线视频| 91精品办公室少妇高潮对白| 亚洲一二三级电影| 欧美一区二区三区成人| 国产麻豆精品久久一二三| 国产肉丝袜一区二区| av综合在线播放| 亚洲激情六月丁香| 91精品国产日韩91久久久久久| 久久99国产精品免费网站| 久久网站最新地址| 91玉足脚交白嫩脚丫在线播放| 亚洲国产三级在线| 欧美成人女星排行榜| 成人午夜在线免费| 亚洲国产成人av网| 欧美精品一区二区三区很污很色的 | 夜夜嗨av一区二区三区四季av| 欧美伦理影视网| 国产精品小仙女| 一区二区三区国产精品| 日韩一区二区电影在线| 波多野结衣欧美| 日韩国产欧美三级| 国产丝袜欧美中文另类| 欧美日韩电影一区| 国产99一区视频免费| 香蕉乱码成人久久天堂爱免费| 日韩欧美一卡二卡| 91久久人澡人人添人人爽欧美| 麻豆freexxxx性91精品| 亚洲欧美日韩久久| 欧美videos中文字幕| 色播五月激情综合网| 国产美女在线精品| 午夜精品福利一区二区三区蜜桃| 2014亚洲片线观看视频免费| 欧美吞精做爰啪啪高潮| 国产99精品视频| 日韩av电影天堂| 一级女性全黄久久生活片免费| 欧美v日韩v国产v| 欧美日本在线观看| 99天天综合性| 国产精品 日产精品 欧美精品| 日韩精品电影在线| 亚洲乱码国产乱码精品精小说| 国产欧美一区二区三区鸳鸯浴| 欧美一区二区在线不卡| 欧美在线三级电影| 97精品久久久午夜一区二区三区 | 亚洲国产精品视频| 亚洲人一二三区| 国产精品乱人伦| 国产欧美视频在线观看| 欧美va在线播放| 这里只有精品电影| 欧美日韩亚洲丝袜制服| 在线这里只有精品| 91色.com| 日本高清不卡一区| 91在线精品一区二区| 不卡一区中文字幕| 不卡欧美aaaaa| 成人黄色小视频在线观看| 国产风韵犹存在线视精品| 激情五月激情综合网| 蜜桃av噜噜一区二区三区小说| 午夜精品视频一区| 调教+趴+乳夹+国产+精品| 亚洲一区二区三区激情| 亚洲成人综合在线| 午夜av一区二区三区| 亚洲h精品动漫在线观看| 亚洲图片欧美色图| 午夜电影网一区| 麻豆精品一区二区av白丝在线| 免费在线一区观看| 精品影视av免费| 国产在线精品一区二区| 国产宾馆实践打屁股91| av资源网一区| 欧美一a一片一级一片| 欧美日韩在线亚洲一区蜜芽| 欧美浪妇xxxx高跟鞋交| 日韩欧美一级特黄在线播放| 久久综合久久综合亚洲| 国产精品色噜噜| 亚洲精品午夜久久久| 香蕉乱码成人久久天堂爱免费| 免费在线一区观看| 国产精品一二三四区| caoporn国产精品| 欧美日韩国产色站一区二区三区| 91精品国产品国语在线不卡| 精品国产免费久久| 国产精品入口麻豆九色| 亚洲综合成人在线视频| 蜜臂av日日欢夜夜爽一区| 国产v日产∨综合v精品视频| 色综合 综合色| 日韩精品一区国产麻豆| 国产精品九色蝌蚪自拍| 亚洲国产wwwccc36天堂| 国产一区美女在线| 色偷偷88欧美精品久久久| 91精品国产免费| 国产精品久久国产精麻豆99网站| 亚洲成人综合视频| 国产精品88888| 欧美在线|欧美| 久久久久久久久久久电影| 亚洲美女免费视频| 国产在线精品一区在线观看麻豆| 91在线你懂得| 欧美成人猛片aaaaaaa| 亚洲激情欧美激情| 国产伦精品一区二区三区视频青涩 | 亚洲精品美腿丝袜| 久草热8精品视频在线观看| 99久久久久久| 精品国产一区二区三区不卡| 亚洲精品国产第一综合99久久 | 黄一区二区三区| 一本大道av伊人久久综合| 精品乱人伦一区二区三区| 一区二区三区在线观看视频| 九九久久精品视频| 精品视频一区二区三区免费| 亚洲国产精品99久久久久久久久| 免费黄网站欧美| 欧美视频精品在线| 综合亚洲深深色噜噜狠狠网站| 久久国产精品72免费观看| 欧洲一区二区av| 中文字幕在线观看一区二区| 久久福利视频一区二区| 欧美日韩精品免费| 亚洲美女屁股眼交| www.亚洲色图| 欧美国产国产综合| 国产精品亚洲а∨天堂免在线| 欧美一级理论性理论a| 亚洲图片欧美一区| 91久久香蕉国产日韩欧美9色| 国产精品第五页| 国产成人综合亚洲91猫咪| 欧美大片在线观看一区二区| 天堂精品中文字幕在线| 欧美在线观看视频一区二区三区| 国产精品久线在线观看| 成人亚洲精品久久久久软件| 久久久久国产精品麻豆| 九九精品视频在线看| 日韩一区二区三区四区| 免费看欧美女人艹b| 在线播放91灌醉迷j高跟美女| 亚洲高清在线精品| 欧美午夜在线一二页| 亚洲一线二线三线视频| 日本久久电影网| 一区二区高清免费观看影视大全| 色一情一乱一乱一91av| 一区二区三区四区av| 91国产免费看| 亚洲成年人影院| 91精品国产综合久久久久久久久久 | 高清日韩电视剧大全免费| 久久久噜噜噜久久中文字幕色伊伊 | 中文一区在线播放| 成人午夜伦理影院| 亚洲特级片在线| 在线视频一区二区三| 亚洲r级在线视频| 日韩一区二区视频在线观看| 久久91精品久久久久久秒播| 国产亚洲美州欧州综合国| 成人美女在线视频| 亚洲精品国产精品乱码不99| 欧美日韩精品一区视频| 狂野欧美性猛交blacked| 久久久午夜电影| 91视频观看免费| 日本特黄久久久高潮 | 国产精品麻豆99久久久久久| 色哟哟一区二区三区| 日韩成人伦理电影在线观看| 精品99999| 色综合色综合色综合 | 久久99精品久久久久婷婷| 国产亚洲综合av|