Module: P2p2

Defined in:
lib/p2p2/p1.rb,
lib/p2p2/p2.rb,
lib/p2p2/hex.rb,
lib/p2p2/head.rb,
lib/p2p2/p2pd.rb,
lib/p2p2/version.rb

Overview

P2p2::P2pd - 内网里的任意应用,访问另一个内网里的应用服务端。配对服务器端。

1.

“‘

                 p2pd
                 ^  ^
               ^    ^
   “周立波的房间”     “周立波的房间”
   ^                         ^
  ^                         ^
p1 --> nat --><-- nat <-- p2

“‘

2.

“‘

ssh --> p2 --> (encode) --> p1 --> (decode) --> sshd

“‘

usage

  1. Girl::P2pd.new( 5050 ).looping # @server

  2. Girl::P1.new( ‘your.server.ip’, 5050, ‘127.0.0.1’, 22, ‘周立波’ ).looping # @home1

  3. Girl::P2.new( ‘your.server.ip’, 5050, ‘0.0.0.0’, 2222, ‘周立波’ ).looping # @home2

  4. ssh -p2222 libo@localhost

Defined Under Namespace

Classes: Hex, P1, P2, P2pd

Constant Summary collapse

PACK_SIZE =

包大小

1448
CHUNK_SIZE =

块大小

PACK_SIZE * 1000
REROOM_LIMIT =
100
REP2P_LIMIT =

p2p重试次数。到早了另一头还没从洞里出来,会吃ECONNREFUSED,不慌,再来一发。

5
SET_TITLE =
1
PAIRING =
2
CTL_CLOSE_ROOM =
[ 1 ].pack( 'C' )
CTL_CLOSE_APP =
[ 2 ].pack( 'C' )
VERSION =
"0.7.2"