
------------------------------------------------------------------------
汾: 2.7.0.106

1Ӵ P2P ·µ relay ַʱЧĻơ

2ڱʶҲϱ PG_TUNNEL_EVENT_PEER_INFOPG_TUNNEL_EVENT_PEER_UP
      PG_TUNNEL_EVENT_PEER_DOWN  PG_TUNNEL_EVENT_PEER_OFFLINE¼

3PG_TUNNEL_EVENT_PEER_INFO ¼ ipver ָʹ IPv4  IPv6

4PG_TUNNEL_EVENT_PEER_UPPG_TUNNEL_EVENT_PEER_DOWN  PG_TUNNEL_EVENT_PEER_OFFLINE ¼
      count ¼ָǰ뱾ӵĶԶ˿ͻ

5 pgTunnelPeerFwdCfg()  ̬ýڵת API 

6 Android 10 ϰ汾ϵͳϣûȨ޴ /proc/net/if_inet6 ȡ豸 IPv6 ַ

7Զ̻ȡ P2P LOG ־ϢĹܡ

8ֲĵ£οĵ޸ļ¼


------------------------------------------------------------------------
汾: 2.5.2.103

1Ż P2P ͨЭ̻ơ
     мתʽ粻ȶʱ϶޷ٽ⣩
     ڶIPַҲIPַͨʱҪӳԺӲȶ⣩

2޸⣺ڲȼȲ´ʱȼлȼЧ⡣

3Ż P2P ͨڹղʹõӡ


------------------------------------------------------------------------
汾: 2.5.0.103

1޸ʱܴ()绷£͸ʳֿͻֹͣµ¼⡣

2ŻͻP2PЭ̣̽ĳP2PƵʣP2Pĸ

3P2Pӱʶ˵TCP˿ڹ˻ơ

4ڵתӡߡٶȺͳϢϱӿڡ

5˵ĵ£οĵ޸ļ¼


------------------------------------------------------------------------
汾: 2.3.0.102

1ǿ·NATӳỰʧЧʱĻָЭ̻ơ

2޸ĳЩµP2P͸Э⡣

3ӽڵתͳƻƺϱͳϢӿ

4˵ĵ£οĵ޸ļ¼


------------------------------------------------------------------------
汾: 2.2.9.101

1޸豸IPַ16ʱͻ˲ʼ

2IPV6ַЭ̡

3ǿ¼P2PĿɿԡ

4ŻP2P͸ƣͬʱЭ̵·

5޸лʱ½P2Pͨʱ״̬󣬵²ܽɹ⡣͸ʣ

6 ChannelMode ѡĹ

7޸һ״̬߼P2PƵɾؽ⡣


------------------------------------------------------------------------
汾: 2.2.6.100

1޸ĳ£ͻ˳ͬʱӶ·ȥӵ¼P2P
      P2PϵǼǵĵַͿͻЭ̵ĵַһµ޷P2Pӡ

2ʵSDK APIĶ̷߳ʰȫơ

3 PG_TUNNEL_EVENT_CONNECT_USED ¼

4ڵ¼ضʱлʱ϶ҲԵӡɾͲѯӳAPI

5ֲĵ£οĵ޸ļ¼
     Ҫ¼ϱصע˵


------------------------------------------------------------------------
汾: 2.2.5.99

1޸⣺LinuxϵͳϣP2PͻΪʶʱĿ TCP ˿ڵĲٶ


------------------------------------------------------------------------
汾: 2.2.3.99

1޸⣺豸ԳʧЧ/ָʱᴥSDKеǰTCPӻỰؽ
      ˡеǰTCPӻỰؽĲڶ̷߳ڴ滥⣨͸ʣ
      IOSϵͳAPPƵ̨лǰ̨ʱϢٻʱе͸⡣
        ϵͳϣн/ûӿڵлҲп⣩


------------------------------------------------------------------------
汾: 2.2.2.98

1޸⣺1.x.x.x 汾Ŀͻ 2.x.x.x 汾Ŀͻʱ
       2.x.x.x 汾ĿͻûЭ̵ַбûпõĵַʱᵼѭ

2Ż 2.2.0.98 汾޸ĵTCPͻ˶ȡʱͷٶȸԶ˵Ļơ


------------------------------------------------------------------------
汾: 2.2.0.98

1ID¼ͻKickOutжϵǰ¼ĵַǷΪ˶·ַĲKickOut

2PG_TUNNEL_EVENT_KICKOUT ¼ĲӡaddrnowֶΣǰͬIDĵ¼ַ

3SessionDisconnectDelayƣʱٲԸΪΪ
      ӸSessiontcp socketϿҴٶȱΪ0ʱʼʱٶȳΪ0ʱ Session

4޸Ȿ豸·ɱ仯Ļƣͬʱڶȱʡ·ʱС

5޸ĳ£ͻ˳ͬʱӶ·ȥӵ¼P2P
      P2PϵǼǵĵַͿͻЭ̵ĵַһµ޷P2Pӡ

6޸TCPͻӽݱP2Pʱ޷ݣ޷䡣

7ֲĵ£οĵ޸ļ¼

8macOSϵͳSDK arm64 CPUܹ֧

9macOSϵͳSDKֵ֧Ĳϵͳ汾Ϊ10.12


------------------------------------------------------------------------
汾: 2.1.0.97

1ŻIPV6ַбϸѭ׼

2 PG_TUNNEL_EVENT_PEER_INFO ¼ϱP2Pͨ仯ʱϱ¼

3ֲĵ£οĵ޸ļ¼


------------------------------------------------------------------------
汾: 2.0.7.96

1޸дLOGļһļָ

2P2P IDʱǿдIDļĿɿԡ


------------------------------------------------------------------------
汾: 2.0.6.95

1޸һSocketݵĴжϲ¿ͻ˷¼⡣

2޸HTTPʽRELAYת򻺳Ȳ㵼ʧ⡣

3Androidϵͳƽ̨SocketźŲԭselectʽ޸Ϊʹ epollʽ
      app̵ socket fd   file fd 1024ʱselect쳣

4ƶ豸߻ѺϵͳsocketԴʧЧʱǿƻʹӻỰԴ

5JAVA/JNIӿڵSDK⣬ӹ߳AttachJVMʱĻơ


------------------------------------------------------------------------
汾: 2.0.5.93

1޸һĳʱ̫⡣

2޸һļϷԼ鲻λ⡣

3Ż͸ֽϢƵ̶ȣ΢P2Pĸ


------------------------------------------------------------------------
汾: 2.0.3.92

1޸صַظ

2޸IOSϵͳNAT64¼Ⱥʧ

3ֲĵ£οĵ޸ļ¼


------------------------------------------------------------------------
汾: 2.0.2.91

1P2Pͨźļڶ

2ĿTCPIPַ˹

3ֲĵ£οļ޸ļ¼


------------------------------------------------------------------------
汾: 1.45.10.90

1޸Ĳԣͻ˴ӷߺӳ֮ݵʱơ


------------------------------------------------------------------------
汾: 1.45.5.90

1Żƶ豸£豸߻ѺsocketָõĲԺ̡
      ҪIOS豸

2޸һTCPش߼Ѿ쳣ж⡣

3޸⣺ͬһԶ֮Ӷӳ˿ʱΪ˿ڱռöʧܣ
      ؽ֮ǰӳɹ˿ϵҲжϿ


------------------------------------------------------------------------
汾: 1.45.3.89

1Żƶ豸£豸߻ѺsocketָõĲԺ̡
      ҪIOS豸


------------------------------------------------------------------------
汾: 1.45.2.89

1ŻP2P͸ͨŷʽתͨŷʽǿл̡

2ŻP2P͸Ӧ·ɲԵ


------------------------------------------------------------------------
汾: 1.43.8.88

1APIӿڴַͲķUTF8ַļת


------------------------------------------------------------------------
汾: 1.43.7.87

1Ӱ轨ӵģʽͨļò

2ϱ·ϢĻص¼ PG_TUNNEL_EVENT_SERVER_PUSH

3޸Ĳԣڷ˽ֱģʽʱͻֱӳ䡣

4޸ֱģʽʱԽܷ·ݵ⡣

5P2P ģSDKֲ vx.x.docļ£ο޸ļ¼


------------------------------------------------------------------------
汾: 1.43.7.86

11.41.7.75汾ض޷¼P2P⡣


------------------------------------------------------------------------
汾: 1.43.6.86

1ŻʱԤ㷨ʱϴϴܡ

2CAPIHTTP APIӿַGBKUTF8ʽȷ⡣


------------------------------------------------------------------------
汾: 1.43.3.85

1¼ϱĻصӿ

2޸ĲѯɾTCP͵ӳʱƥclientaddrĲԡ
      ޸ΪclientaddrΪǿʱҲ׼ƥclientaddr
      ӦõAPIpgTunnelConnectQuery(), pgTunnelConnectDelete(), 
             pgTunnelConnectLocalQuery(), pgTunnelConnectLocalDelete()

3P2P ģSDKֲ x.docĵ£οĵ޸˵


------------------------------------------------------------------------
汾: 1.43.1.81

1޸1.43.0.79汾һ⣺SDKʼĵһε¼P2Pʱ
      P2Pȷܾ¼磬˺ЧʱSDKٳµ¼


------------------------------------------------------------------------
汾: 1.43.0.80

1޸⣺ͨAPIӿɾ˿ʱûδɵ˿صϢ
                    ܵӦó˿ڽTCP޷ӶԶˣ


------------------------------------------------------------------------
汾: 1.43.0.79

1޸⣺ʱ󡢶ʸʱʱҿͻ֮佨ʱʱ
      ͸𽻻Կƥ󣬵֤ʧܣͻ˲ܱߡ

2 P2PSDKݵSocketʱĳʱʱơ

3޸ pgTunnelStart() ֵĴΪ⣨ӦΪ

4pgLibTunnel.h ͷļдĳ塣

5޸HTTPӿڵpgTunnel.jsűܲHTTP⡣

6޸HTTP APItunnelsetӿڵactionַӦactionַһ⡣

7޸⣺ֱӳʱڵַ˿ͬԶIDͬʱ
             һµֻ޸ڵַ˿ƥԭĶԶID

8HTTP APIġͻP2P֮͸ͨšӿڵJSONת汾
     HTTP APIġշϢӿڵJSONת汾

9P2P ģSDKֲ x.docĵ£οĵ޸˵


------------------------------------------------------------------------
汾: 1.41.7.75

1ǿ pgTunnelControl() µ¼
      (ֿ֧ƣȡ¼ʱ˱ܡϵǰĵ¼Ӧȴ´socket)

2ÿε¼ɹ»ָѾӵӳ״̬

3Ӳԣ·Ϣͻʱ
     ӳ˿Ѿռãɾԭӳ䣬ӳ䡣

4ļ DirectTunnelEnable ѡĬֵΪ1
      ļ TunnelIdlePort ѡɾϡ

5ʾ  demoTunnel £APIʾĬļ


------------------------------------------------------------------------
汾: 1.41.6.72

1 pgTunnelControl() úɸѡSDKΪ״̬

2 pgTunnelChannelSet() ú̬лͻ֮ӷʽ
      (ԶӦʽ  ǿתʽ

3ֲļ£ο޸ļ¼


------------------------------------------------------------------------
汾: 1.41.1.71

1޸ 1.41.0.71 汾һԽ


------------------------------------------------------------------------
汾: 1.41.0.71

14GʱĶԳNAT·P2P͸

2P2PͨϢ;仯ʱϱϢP2P


------------------------------------------------------------------------
汾: 1.40.5.70

1x86, x86_64LINUXϸΪʹepollʽSOCKET

2޸⣺TCP͵·ͬʱȻɾԴڵӡ

3޸⣺·ʱĶ˿ʧܣӶʱ³Դ򿪡


------------------------------------------------------------------------
汾: 1.40.3.69

1޸ڴֽCPUϼժҪ


------------------------------------------------------------------------
汾: 1.40.2.69

1Ż书ܵ

2֧ͬһжWANе糡P2P͸

3޸ͻ˵¼ʱP2PPG_ERR_BadDomainʱûлĬϵû⡣


------------------------------------------------------------------------
汾: 1.40.1.69

1޸ ConnectTimeout ô255ʱЧ

2ǿƶϿûд佻ָʱӵĹ

3ļ (Session){...} òοP2P ģSDKֲ xx.doc

4P2P ģSDKֲ xx.docĵ¡


------------------------------------------------------------------------
汾: 1.40.0.68

1ھɨ跽ʽʱϿӣʱӲϵ⡣

2޸TCPתͨ͸ʳָ쳣ɵ㡣

3ٵ¼Եĳʱʱ䣬ʱĵȴ

4޸ģļ DirectTunnelEnable ѡʱٴȡ˵á

5SDK Depend Ŀ¼Ŀļ Lib Ŀ¼µĿļϲΪһļ


------------------------------------------------------------------------
汾: 1.39.7.67

1ŻP2PмתͨP2P͸ͨлĲ

2޸мתͨP2P͸ͨлʱܵ͸ʳ쳣⡣

3ǿɳжд쳣дĲ


-----------------------------------------------------------
汾: 1.37.3.65

1޸һ߳ͬЧºܵ͸߳ѭԽ쳣


-----------------------------------------------------------
汾: 1.37.1.65

1Ż绷µĴܡ

2PCϵͳ£û֤ϢдļĿɿԡ


-----------------------------------------------------------
汾: 1.36.6.63

1ѡȡIPַԼָʹIPV4,IPV6ַѡ
      ļNodeNode.DnsRandomNode.DnsUseIPv4Node.DnsUseIPv6

2첽DNS̵߳ջСӵ128KBջ̫СĳЩϵͳϲջ쳣

3WindowsϵͳSDKΪʹö̬ӿ(DLL)ķʽ

4ĵ£ο޸ļ¼


-----------------------------------------------------------
汾: 1.35.8.61

1ʹUtilize.DirectTunnelEnableѡʱӱӶжûIDûǷƥ䡣
     ûIDûƥ䣬ܾӡ

2Node.ClientOnlyѱΪֻӶԶˣܱԶӣ
     ֻAPPʹSDKʱNode.ClientOnlyֻAPPʹó

3Base.LoginDelayInterval  Base.LoginDelayMax ѡ
     Base.LoginDelayInterval Ϊõ¼ʱ˱ܵʱ
     Base.LoginDelayMax Ϊõ¼ʱ˱ܵʱֵ

4޸ֱģʽУP2P״̬ӳӳ䱻ɾʱP2P״̬ʧ⡣

5޸UDP˿socketرʱ˿ڱû㡣
     ´socket󶨶˿ʱʹǰĶ˿ڣ͸ʷ˿ʹóͻ⡣

6ĵ£ο޸ļ¼


-----------------------------------------------------------
汾: 1.35.6.60

1޸pgTunnelXXXX͵APIڲʱ֮Ļϡ

2޸APIP2Pͨӽ֮ǰpgTunnelPeerInfoGet()ȡ״̬
   PG_TUNNEL_PEER_INFO_SṹеszTunnelLocalszTunnelRemoteΪַ

3ŻӪCGNµP2Pӿɿ

4ĵ£οĵ޸ļ¼



-----------------------------------------------------------
汾: 1.32.12.58

1͸ʳ֡SocketUDP4::SelectProc, Socket or Fd mask not match.P2Pͻ˲ʹ⡣

2쳣ڶͻȻ˳ڶTCP֮ӲϿ

3ļ Log.Debug ò/رյϢӡ

4޸ pgTunnelPeerInfoGet() ״̬ԣΪڱԶûнʱҲִвѯ

5ĵ£οĵ޸ļ¼



-----------------------------------------------------------
汾: 1.32.11.57

1޸ĴP2P˳ʵʱû豸棬
   P2P³ʼҪȴϳʱ·豸

2pgTunnelPeerInfoGet() APIӿж϶Զ˵״̬
   P2PûнֵPG_TUNNEL_ERROR_BADSTATUS롣



-----------------------------------------------------------
汾: 1.32.11.56

1޸ĲԣԭͨʽʱɾP2PͨҲɾ
   ⽫Ӱݴԡ˰汾ΪɾʱP2Pͨ30롣

2ͨͻAPIʱTCP˿ڴʧܣʱԻơ
   Դ򿪳1.5룬Ȼûд򿪣APIʧܡ
   LINUXϵͳɾرTCP˿ںûʱͬTCP˿ڻʧܵ⡣

3ŻP2P͸ͨмת֮ͨлĲԣӴмתͨлP2P͸ͨġԡ
   ΪP2P͸ͨʧЧлмתʱҪP2P͸Ļָ״̬лP2P͸ͨ



-----------------------------------------------------------
汾: 1.32.11.55

1޸ľΪͬʱʹù㲥͵ģʽ

2޸ľ·ģʽAPģʽ֮лԡ

3޸FTPϴļղ⡣



-----------------------------------------------------------
汾: 1.32.10.53

1޸ľֵĵģʽԡ



-----------------------------------------------------------
汾: 1.32.10.52

1ӿͻֱ֮ӽĹܣǰ汾ҪP2Pܽ

2ͬһڵĿͻֶ֮ͨԶ˲ͨţû£

3ļ Utilize.DirectTunnelAccept  Utilize.DirectTunnelEnable ѡ
   ÿͻ֮ܣ

4ĵ£ο޸ļ¼



-----------------------------------------------------------
汾: 1.32.9.51

1޸⣺ʧʱԵʱԭ10Ϊ1롣

2޸Ĵʱϳʱط֪ͨ°ѾӺõظɾ

3ļ Utilize.TunnelIdlePortѡûرաTCP˿ڱռʱԶеTCP˿ڡܡ

4ĵ£ο޸ļ¼



-----------------------------------------------------------
汾: 1.32.5.50

1ӻʧЧĳڶԴĻƣ
   Ի쳣ʧܻɾʧܵʧЧԴ



-----------------------------------------------------------
汾: 1.32.3.49

1ŻP2Pٶȵƽԡ

2ŻȺ£лP2Pĳʱ䡣



-----------------------------------------------------------
汾: 1.32.0.48

1ŻP2Pٶȵƽԡ

2޸pgTunnelConnectEnum()pgTunnelConnectLocalDelete(),
        pgTunnelConnectLocalQuery() ߼д



-----------------------------------------------------------
汾: 1.31.2.47

1ǿĳЩ͵·ʱͨRelayӵȶ

2ŻpgTunnelStop()˳ٶ

3API:
       pgTunnelSelfGet(): ȡ˵ûID
       pgTunnelConnectEnum(): ȡӵȫϢ

4ֲĵ£οĵ޸ļ¼



------------------------------------------------------------------------
汾1.30.2.46

1ŻʱTICKȶ



-----------------------------------------------------------
汾: 1.29.5.46

1ŻڶԳNATͨpgRelayӵٶȡ

2޸ĿɴڴܴڵĴ

3޸ڲͬ߳ͬʱAPIӿʱ
   һ̲߳APIδɣһ߳pgTunnelStop()˳ᵼ


-----------------------------------------------------------
汾: 1.29.3.45

1pgTunnelSetCfgParam()ֱļ
   ҪµĿļ
       Include\pgLibTunnel.h
       Lib\libtunnel_*.a

2޸󣺵ͻTCP˿ڱռõʱ򣬴ؽЧ³ʱ䡣
   ҪµĿļ
       Lib\libtunnel_*.a



------------------------------------------------------------------------
汾1.29.2.43

1޸¼ϱеͶ߼ڶ̴߳дڴ
   ҪµĿļ
       Lib\libtunnel_*.a

