From dea64dd865dff83a5c8bdaebd6c87bbf09e574bd Mon Sep 17 00:00:00 2001 From: dosgo Date: Wed, 20 Apr 2016 22:05:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/Debug/ngrokc.exe | Bin 947339 -> 947339 bytes main.cpp | 2 +- ngrok-c.depend | 6 +++--- ngrok.cpp | 4 ++-- nonblocking.h | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bin/Debug/ngrokc.exe b/bin/Debug/ngrokc.exe index dd6e93b75c9012f1b621e1f890bf1793b3cf2ef9..e1bc1b7dcd263672147c4b4f171e55f90f3442ae 100644 GIT binary patch delta 18774 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 KnbhE3{Qm_J+D;Py delta 18812 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 NH*l}&-mp6H{{WtZ3M~Kt diff --git a/main.cpp b/main.cpp index a9bbe741..7a34dc01 100644 --- a/main.cpp +++ b/main.cpp @@ -65,7 +65,7 @@ #include "nonblocking.h" using namespace std; -string VER = "1.23-(2016/4/20)"; +string VER = "1.24-(2016/4/20)"; char s_name[255]="ngrokd.ngrok.com"; int s_port= 443; diff --git a/ngrok-c.depend b/ngrok-c.depend index 078f3179..03c921f5 100644 --- a/ngrok-c.depend +++ b/ngrok-c.depend @@ -464,7 +464,7 @@ 1461071288 d:\c\ngrok-c\cjson.h -1461071371 source:d:\c\ngrok-c\main.cpp +1461157340 source:d:\c\ngrok-c\main.cpp "config.h" @@ -549,7 +549,7 @@ 1461071288 d:\c\ngrok-c\bytestool.h -1461071289 d:\c\ngrok-c\nonblocking.h +1461161062 d:\c\ngrok-c\nonblocking.h "config.h" @@ -830,7 +830,7 @@ "mytime.h" "sslbio.h" -1461071449 source:d:\c\ngrok-c\ngrok.cpp +1461160662 source:d:\c\ngrok-c\ngrok.cpp "config.h" diff --git a/ngrok.cpp b/ngrok.cpp index 99d909f3..e4118840 100644 --- a/ngrok.cpp +++ b/ngrok.cpp @@ -92,7 +92,7 @@ int RemoteSslInit(map::iterator *it1,sockinfo *tempinfo,string & int LocalToRemote(map::iterator *it1,sockinfo *tempinfo,ssl_info *sslinfo,map*socklist){ int readlen; - int bufsize=1024*15;//15K //oolarssl SSL_MAX_CONTENT_LEN 16384 + int bufsize=1024*10;//15K //oolarssl SSL_MAX_CONTENT_LEN 16384 //oolarssl 最大发送长度不能超过16K。。还是改成15吧 char buf[bufsize+1]; memset(buf,0,bufsize+1); @@ -129,7 +129,7 @@ int LocalToRemote(map::iterator *it1,sockinfo *tempinfo,ssl_info int RemoteToLocal(ssl_info *sslinfo1,sockinfo *tempinfo1,map::iterator *it1,map*socklist){ int readlen,sendlen; - int bufsize=1024*15;//15K //oolarssl SSL_MAX_CONTENT_LEN 16384 + int bufsize=1024*10;//15K //oolarssl SSL_MAX_CONTENT_LEN 16384 //oolarssl 最大发送长度不能超过16K。。还是改成15吧 char buf[bufsize+1]; memset(buf,0,bufsize+1); diff --git a/nonblocking.h b/nonblocking.h index 23b7e161..6de23922 100644 --- a/nonblocking.h +++ b/nonblocking.h @@ -167,8 +167,8 @@ inline int SetBufSize(int sock) //接收缓冲区 int opt=25*1024;//30K setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (const char*)&opt,sizeof(opt)); - //发送缓冲区 - setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (const char*)&opt,sizeof(opt)); + //发送缓冲区 (这个千万不要。。发送不需要缓存区) + // setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (const char*)&opt,sizeof(opt)); return 0; }