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

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

?? nodeconnection.java

?? P2P協(xié)議GUNTELLA的java源代碼
?? JAVA
字號:
/*
 * Copyright (C) 2000-2001  Ken McCrary
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Email: jkmccrary@yahoo.com
 */

package com.kenmccrary.jtella;

import java.io.IOException;
import java.net.UnknownHostException;
import java.net.InetAddress;
import java.net.Socket;

import com.kenmccrary.jtella.util.Log;

/**
 *  Connection to a servant on the network
 *
 */
public class NodeConnection extends Connection
{

  private static final int SEQUENTIAL_READ_ERROR_LIMIT = 3;
  
  /**
   *  Construct the Connection using host/port information
   *
   *  @param router message router
   *  @param host can be a machine name or IP address
   *  @param port port to use
   */
  NodeConnection(Router router,
                 String host,
                 int port,
                 ConnectionData connectionData) throws UnknownHostException,
                                                       IOException
  {
    super(router, host, port, connectionData);
  }

  /**
   *  Construct the connection with an existing socket
   *
   *  @param router message router
   *  @param socket socket connection to another servant
   */
  NodeConnection(Router router,
                 Socket socket,
                 ConnectionData connectionData) throws IOException
  {
    super(router, socket, connectionData);
  }

  /**
   *  Connection operation
   */
  public void run()
  {
    status = STATUS_OK;
    int sequentialReadError = 0;
    
    try
    {
      // Give an inital ping
      send(new PingMessage());

      while( !shutdownFlag )
START:{
  
        if ( sequentialReadError >= SEQUENTIAL_READ_ERROR_LIMIT )
        {
          shutdown();
          continue;
        }
        
        // Read a message
        short[] message = new short[Message.SIZE];
        for (int i = 0; i < message.length; i++)
        {
          try
          {
            message[i] = (short)inputStream.readUnsignedByte();
          }
          catch (IOException io)
          {
            Log.getLog().logDebug("read timeout, sending ping");

            // try to recover from read timeout with a ping
            PingMessage keepAlivePing = new PingMessage();
            keepAlivePing.setTTL((byte)1);
            prioritySend(keepAlivePing);
            sequentialReadError++;
            break START;
          }
        }

        sequentialReadError = 0;
        Message readMessage = MessageFactory.createMessage(message, this);

        if ( null == readMessage )
        {
          Log.getLog().logError("MessageFactory.createMessage() returned null");
          continue;
        }

        int payloadSize = readMessage.getPayloadLength();

        if ( !readMessage.validatePayloadSize() )
        {
          handleConnectionError(null);
          Log.getLog().logInformation("Received invalid message from: " +
                                      host +
                                      ", message type: " +
                                      readMessage.getType());
          continue;
        }

        if (payloadSize > 0 )
        {
          short[] payload = new short[payloadSize];
          // Read the payload
          for (int p = 0; p < payloadSize; p++ )
          {
            payload[p] = (short)inputStream.readUnsignedByte();
          }

          readMessage.addPayload(payload);
        }

        Log.getLog().logDebug("Read message from " +
                              host +
                              " : " +
                              readMessage.toString());

				// count the i/o
				inputCount++;

        // Message is read, route it
        boolean routeOK = router.route(readMessage, this);

        if ( !routeOK )
        {
          // indicates an overrun router, too many connections
          Log.getLog().logDebug("Connection shut down, overrun router");
          shutdown();
          continue;
        }

				// always give an ack pong to avoid disconnection
        if ( readMessage instanceof PingMessage )
        {
          Log.getLog().logInformation("Responding to ping");
          PongMessage pong = new PongMessage(readMessage.getGUID(),
                                             (short)connectionData.getIncomingPort(),
                                             InetAddress.getLocalHost().getHostAddress() ,
                                             connectionData.getSharedFileCount(),
                                             connectionData.getSharedFileSize());
          send(pong);
        }
      }

    }
    catch (Exception e)
    {
      handleConnectionError(e);
    }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频一区二区免费| 欧美高清视频一二三区| 91精品福利视频| 日韩色视频在线观看| 亚洲精品日韩一| 国产高清精品在线| 欧美剧情电影在线观看完整版免费励志电影 | 在线中文字幕不卡| 久久久蜜臀国产一区二区| 亚洲精品乱码久久久久久| 国产在线播放一区二区三区 | 国内精品免费**视频| 在线日韩av片| 中文字幕亚洲不卡| 国产老妇另类xxxxx| 91精品国产综合久久蜜臀| 1000部国产精品成人观看| 韩国女主播成人在线观看| 欧美电影一区二区三区| 亚洲主播在线播放| 一本久久a久久精品亚洲| www欧美成人18+| 久久精品国产澳门| 欧美一级高清片在线观看| 一区二区三区av电影| 色av一区二区| 樱桃视频在线观看一区| 91香蕉国产在线观看软件| 中文一区在线播放| 国产传媒久久文化传媒| 久久久久久久久久久久久久久99 | 欧美日韩免费观看一区三区| 亚洲精品久久嫩草网站秘色| 91丨九色丨国产丨porny| 中文字幕av一区 二区| 大尺度一区二区| 欧美国产在线观看| 91在线视频在线| 亚洲视频在线观看一区| 99精品久久免费看蜜臀剧情介绍| 国产精品久久久久影院| www.激情成人| 亚洲美女一区二区三区| 91黄色在线观看| 亚洲www啪成人一区二区麻豆 | 一区二区三区蜜桃| 欧美三级三级三级| 青青草国产精品97视觉盛宴| 欧美一级淫片007| 国产精品99久久久久久久女警| 欧美韩国一区二区| 色综合久久中文字幕| 亚洲福利一二三区| 欧美mv日韩mv| 成人国产精品免费观看动漫| 亚洲靠逼com| 69久久夜色精品国产69蝌蚪网 | 亚洲最色的网站| 欧美人妇做爰xxxⅹ性高电影| 爽爽淫人综合网网站| www一区二区| 99精品欧美一区| 日韩精品欧美成人高清一区二区| www精品美女久久久tv| 97久久精品人人做人人爽 | 色视频欧美一区二区三区| 婷婷国产v国产偷v亚洲高清| 欧美成人精品3d动漫h| 成人精品免费网站| 婷婷久久综合九色综合绿巨人 | 国产曰批免费观看久久久| 亚洲欧美在线aaa| 91精品国产综合久久精品| 国产高清成人在线| 日韩精品福利网| 国产精品视频观看| 在线91免费看| 97久久精品人人做人人爽50路| 日韩精品福利网| 综合久久综合久久| 日韩视频一区在线观看| 99国产精品99久久久久久| 蜜桃一区二区三区在线观看| 视频一区在线视频| 欧美经典三级视频一区二区三区| 91久久国产最好的精华液| 国产福利一区在线观看| 日韩精品一二三四| 亚洲精品免费播放| 欧美极品少妇xxxxⅹ高跟鞋 | 蜜臀av亚洲一区中文字幕| 亚洲天堂福利av| 国产三级精品三级在线专区| 欧美日韩三级在线| 99视频一区二区| 国产99一区视频免费| 免费国产亚洲视频| 亚欧色一区w666天堂| 亚洲天堂中文字幕| 国产精品久久精品日日| 国产欧美日韩另类一区| 日韩免费观看2025年上映的电影| 欧美三电影在线| 在线中文字幕不卡| 色婷婷久久一区二区三区麻豆| 风间由美一区二区三区在线观看 | jvid福利写真一区二区三区| 免费成人在线网站| 午夜久久久影院| 亚洲一区二区视频| 亚洲三级免费观看| **欧美大码日韩| 亚洲欧洲精品天堂一级| 国产精品网站一区| 国产精品国产精品国产专区不片| 国产午夜精品福利| 久久久综合激的五月天| 国产亚洲一区二区三区在线观看| 欧美变态口味重另类| 2021中文字幕一区亚洲| 久久免费美女视频| 国产精品亲子伦对白| 国产精品午夜久久| 亚洲人午夜精品天堂一二香蕉| 国产精品成人免费在线| 自拍视频在线观看一区二区| 成人免费在线观看入口| 一区二区三区精品视频在线| 亚洲综合色噜噜狠狠| 午夜欧美电影在线观看| 伦理电影国产精品| 国产一区二区在线免费观看| 国产大陆a不卡| 色婷婷av一区二区三区之一色屋| 欧美日韩国产精品自在自线| 欧美日韩国产高清一区二区三区 | 成人激情午夜影院| 9色porny自拍视频一区二区| 色综合久久久久网| 91精品国产综合久久福利| 精品国产91洋老外米糕| 国产蜜臀av在线一区二区三区| 国产精品成人网| 日韩在线播放一区二区| 国产一区在线精品| 色综合久久久久久久久久久| 欧美日韩久久久一区| 久久影院午夜片一区| 亚洲视频一二三区| 免费欧美日韩国产三级电影| 成人免费看黄yyy456| 欧美日韩三级视频| 国产三级欧美三级日产三级99| 亚洲欧美日韩久久| 蜜桃91丨九色丨蝌蚪91桃色| 国产91在线|亚洲| 在线观看不卡视频| 欧美变态口味重另类| 一区二区三区四区不卡在线| 美腿丝袜亚洲色图| 91在线看国产| 精品电影一区二区三区| 亚洲激情自拍视频| 国产精品影视网| 欧美日韩一级黄| 中文字幕一区av| 国产一本一道久久香蕉| 色婷婷国产精品久久包臀| 国产色产综合产在线视频| 亚洲国产成人av网| 大桥未久av一区二区三区中文| 91精品国产麻豆| 亚洲主播在线观看| 波多野结衣视频一区| 久久一区二区视频| 日韩制服丝袜先锋影音| 在线看不卡av| 国产精品久久久久久久久免费樱桃 | 91丨九色丨尤物| 国产欧美一区二区三区沐欲| 日韩成人一级大片| 色偷偷久久人人79超碰人人澡| 久久精品日韩一区二区三区| 日产国产欧美视频一区精品| 在线亚洲+欧美+日本专区| 中文成人综合网| 国产一区二区视频在线| 日韩一级片网站| 石原莉奈一区二区三区在线观看| 色综合久久综合网| 自拍偷拍亚洲综合| 99精品黄色片免费大全| 国产精品久久久一本精品| 国产在线视频一区二区三区| 欧美一区二区在线播放| 亚洲成人av免费| 欧美日韩亚州综合| 香蕉成人啪国产精品视频综合网| 欧美亚洲自拍偷拍| 亚洲国产日韩精品|