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

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

?? socks1.cpp

?? 包含常用Internet協議TCP,UDP、HTTP、FTP、Telnet等
?? CPP
字號:
/*---------------------------------------------------------------------------

Author:       Fran鏾is PIETTE
Description:  Show how to use TWSocket with SOCKS protocol to traverse
              a firewall.
Creation:     December 27, 1998 (from Delphi version created November 21, 1998)
Version:      1.01
EMail:        francois.piette@swing.be            http://www.rtfm.be/fpiette
              francois.piette@pophost.eunet.be    francois.piette@rtfm.be
Support:      Use the mailing list twsocket@rtfm.be See website for details.
Legal issues: Copyright (C) 1998-2000 by Fran鏾is PIETTE
              Rue de Grady 24, 4053 Embourg, Belgium. Fax: +32-4-365.74.56
              <francois.piette@pophost.eunet.be>

              This software is provided 'as-is', without any express or
              implied warranty.  In no event will the author be held liable
              for any  damages arising from the use of this software.

              Permission is granted to anyone to use this software for any
              purpose, including commercial applications, and to alter it
              and redistribute it freely, subject to the following
              restrictions:

              1. The origin of this software must not be misrepresented,
                 you must not claim that you wrote the original software.
                 If you use this software in a product, an acknowledgment
                 in the product documentation would be appreciated but is
                 not required.

              2. Altered source versions must be plainly marked as such, and
                 must not be misrepresented as being the original software.

              3. This notice may not be removed or altered from any source
                 distribution.

History:
Aug 15, 1999  V1.01 Adapted for BCB4 (Moved FIniFileName initialization from
              FormCreate to form constructor).


---------------------------------------------------------------------------*/
#include <vcl.h>
#include <vcl\inifiles.hpp>
#pragma hdrstop

#include "Socks1.h"
#define SectionWindow      "Windows"
#define KeyTop             "Top"
#define KeyLeft            "Left"
#define KeyWidth           "Width"
#define KeyHeight          "Height"
#define SectionData        "Data"
#define KeyTargetHost      "TargetHost"
#define KeyTargetPort      "TargetPort"
#define KeySocksServer     "SocksServer"
#define KeySocksPort       "SocksPort"
#define KeySocksUsercode   "SocksUsercode"
#define KeySocksPassword   "SocksPassword"
#define KeySocksAuth       "SocksAuthentification"
#define KeySocks4          "Socks4"
#define KeySocks5          "Socks5"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "WSocket"
#pragma resource "*.dfm"
TSocksTestForm *SocksTestForm;
//---------------------------------------------------------------------------
__fastcall TSocksTestForm::TSocksTestForm(TComponent* Owner)
    : TForm(Owner)
{
    FIniFileName = LowerCase(ExtractFileName(Application->ExeName));
    FIniFileName = FIniFileName.SubString(1, FIniFileName.Length() - 3) + "ini";
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::FormShow(TObject *Sender)
{
    TIniFile *IniFile;

    if (!FInitialized) {
        FInitialized = TRUE;
        DisplayMemo->Clear();
        IniFile      = new TIniFile(FIniFileName);
        Width        = IniFile->ReadInteger(SectionWindow, KeyWidth,  Width);
        Height       = IniFile->ReadInteger(SectionWindow, KeyHeight, Height);
        Top          = IniFile->ReadInteger(SectionWindow, KeyTop,
                                            (Screen->Height - Height) / 2);
        Left         = IniFile->ReadInteger(SectionWindow, KeyLeft,
                                            (Screen->Width  - Width)  / 2);
        TargetHostEdit->Text    = IniFile->ReadString(SectionData, KeyTargetHost,    "");
        TargetPortEdit->Text    = IniFile->ReadString(SectionData, KeyTargetPort,    "");
        SocksServerEdit->Text   = IniFile->ReadString(SectionData, KeySocksServer,   "");
        SocksPortEdit->Text     = IniFile->ReadString(SectionData, KeySocksPort,     "1080");
        SocksUsercodeEdit->Text = IniFile->ReadString(SectionData, KeySocksUsercode, "");
        SocksPasswordEdit->Text = IniFile->ReadString(SectionData, KeySocksPassword, "");
        SocksAuthCheckBox->Checked = IniFile->ReadInteger(SectionData, KeySocksAuth, 0);
        Socks4RadioButton->Checked = IniFile->ReadInteger(SectionData, KeySocks4,    0);
        Socks5RadioButton->Checked = IniFile->ReadInteger(SectionData, KeySocks5,    1);
        delete IniFile;
    }
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    TIniFile *IniFile;

    IniFile = new TIniFile(FIniFileName);
    IniFile->WriteInteger(SectionWindow, KeyTop,         Top);
    IniFile->WriteInteger(SectionWindow, KeyLeft,        Left);
    IniFile->WriteInteger(SectionWindow, KeyWidth,       Width);
    IniFile->WriteInteger(SectionWindow, KeyHeight,      Height);
    IniFile->WriteString(SectionData, KeyTargetHost,    Trim(TargetHostEdit->Text));
    IniFile->WriteString(SectionData, KeyTargetPort,    Trim(TargetPortEdit->Text));
    IniFile->WriteString(SectionData, KeySocksServer,   Trim(SocksServerEdit->Text));
    IniFile->WriteString(SectionData, KeySocksPort,     Trim(SocksPortEdit->Text));
    IniFile->WriteString(SectionData, KeySocksUsercode, Trim(SocksUsercodeEdit->Text));
    IniFile->WriteString(SectionData, KeySocksPassword, Trim(SocksPasswordEdit->Text));
    IniFile->WriteInteger(SectionData, KeySocksAuth, SocksAuthCheckBox->Checked);
    IniFile->WriteInteger(SectionData, KeySocks5,    Socks5RadioButton->Checked);
    IniFile->WriteInteger(SectionData, KeySocks4,    Socks4RadioButton->Checked);
    delete IniFile;
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::DisplayMsg(TObject *Sender, AnsiString &Msg)
{
    DisplayMemo->Lines->Add(Msg);
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::ConnectButtonClick(TObject *Sender)
{
    if (Socks5RadioButton->Checked)
        WSocket1->SocksLevel = "5";
    else if (Socks4RadioButton->Checked && SocksAuthCheckBox->Checked)
        WSocket1->SocksLevel = "4A";
    else
        WSocket1->SocksLevel = "4";
    DisplayMemo->Lines->Add("Connecting using Socks" + WSocket1->SocksLevel);

    WSocket1->SocksServer         = Trim(SocksServerEdit->Text);
    WSocket1->SocksPort           = Trim(SocksPortEdit->Text);
    WSocket1->SocksUsercode       = Trim(SocksUsercodeEdit->Text);
    WSocket1->SocksPassword       = Trim(SocksPasswordEdit->Text);
    WSocket1->SocksAuthentication = (SocksAuthCheckBox->Checked) ?
                                       socksAuthenticateUsercode :
                                       socksNoAuthentication;
    WSocket1->Proto               = "tcp";
    WSocket1->Addr                = Trim(TargetHostEdit->Text);
    WSocket1->Port                = Trim(TargetPortEdit->Text);
    WSocket1->OnDisplay           = DisplayMsg;
    WSocket1->Connect();
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::DisconnectButtonClick(TObject *Sender)
{
    WSocket1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::WSocket1SessionConnected(TObject *Sender,
      WORD Error)
{
    DisplayMemo->Lines->Add("Session connected to remote host.");
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::WSocket1SocksConnected(TObject *Sender,
      WORD Error)
{
    DisplayMemo->Lines->Add("Session connected to socks server.");
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::WSocket1SocksAuthState(TObject *Sender,
      TSocksAuthState AuthState)
{
    switch (AuthState) {
    case socksAuthStart:
        DisplayMemo->Lines->Add("Socks authentification start.");
        break;
    case socksAuthSuccess:
        DisplayMemo->Lines->Add("Socks authentification success.");
        break;
    case socksAuthFailure:
        DisplayMemo->Lines->Add("Socks authentification failure.");
        break;
    case socksAuthNotRequired:
        DisplayMemo->Lines->Add("Socks authentification not required.");
        break;
    default:
        DisplayMemo->Lines->Add("Unknown socks authentification state.");
        break;
    }
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::WSocket1SessionClosed(TObject *Sender,
      WORD Error)
{
    DisplayMemo->Lines->Add("Session Closed");
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::WSocket1DataAvailable(TObject *Sender,
      WORD Error)
{
    int  Len;
    int  I;
    char *p;

    Len = ((TWSocket *)Sender)->Receive(&FRcvBuf[FRcvCnt], sizeof(FRcvBuf) - FRcvCnt - 1);
    if (Len < 0)
        return;
    FRcvCnt = FRcvCnt + Len;
    FRcvBuf[FRcvCnt] = 0;

    while (FRcvCnt > 0) {
        p = strchr(FRcvBuf, '\n');
        if (p == NULL)
            return;
        I = p - FRcvBuf;

        FRcvBuf[I] = 0;
        if ((I > 0) && (FRcvBuf[I - 1] == '\r'))
            FRcvBuf[I - 1] = 0;

        DisplayMemo->Lines->Add("Received: \"" + (AnsiString)FRcvBuf + "\"");
        Move(&FRcvBuf[I + 1], &FRcvBuf[0], FRcvCnt - I);
        FRcvCnt = FRcvCnt - I - 1;
    }
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::WSocket1SocksError(TObject *Sender,
      int Error, AnsiString Msg)
{
    DisplayMemo->Lines->Add("Socks error #" + IntToStr(Error) + " " + Msg);
}
//---------------------------------------------------------------------------
void __fastcall TSocksTestForm::ClearButtonClick(TObject *Sender)
{
    DisplayMemo->Clear();
}
//---------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕第一区二区| 欧洲精品在线观看| 国产亚洲一区二区三区| 国产一区二区三区精品视频| 日韩精品一区二区三区蜜臀| 国产综合色精品一区二区三区| 久久久久久9999| 99久久久免费精品国产一区二区| 亚洲区小说区图片区qvod| 欧洲精品在线观看| 久久69国产一区二区蜜臀| 久久精品一区蜜桃臀影院| 91视频91自| 爽好久久久欧美精品| 久久婷婷国产综合国色天香| 国产成人三级在线观看| 成人免费一区二区三区在线观看| 欧美性受xxxx黑人xyx性爽| 日本中文一区二区三区| 欧美激情综合网| 在线视频观看一区| 精品无码三级在线观看视频| 亚洲视频免费看| 91精品国产综合久久福利| 国产99久久久精品| 亚洲午夜久久久久中文字幕久| 精品国产成人系列| 日本高清成人免费播放| 久久电影网电视剧免费观看| 亚洲欧洲精品天堂一级 | 美女一区二区三区| 国产精品久线在线观看| 欧美一区二区女人| 91免费观看国产| 狠狠色丁香婷婷综合| 亚洲精品成人少妇| 久久久久久99精品| 欧美一区二区三区免费视频| 成人av免费在线播放| 久久不见久久见免费视频7| 亚洲人成精品久久久久| 久久久另类综合| 91麻豆精品国产91久久久资源速度| 国产91露脸合集magnet| 日韩精品乱码av一区二区| 亚洲精品福利视频网站| 久久久久国产精品免费免费搜索| 欧美精品 国产精品| 成人av在线播放网站| 久久99热狠狠色一区二区| 亚洲自拍都市欧美小说| 国产精品不卡一区二区三区| 26uuu久久天堂性欧美| 欧美精品三级日韩久久| 在线一区二区视频| 99久久伊人久久99| 国产99久久久精品| 国产精品一品二品| 国产一区二区三区四区五区入口| 日韩高清在线观看| 午夜在线成人av| 亚洲一二三四在线观看| 自拍偷拍欧美精品| 国产精品狼人久久影院观看方式| 国产日韩欧美麻豆| 精品第一国产综合精品aⅴ| 91精品国产丝袜白色高跟鞋| 欧美日韩精品是欧美日韩精品| 91精品1区2区| 日本高清不卡一区| 欧美色图片你懂的| 欧美日韩免费观看一区三区| 欧美在线免费观看亚洲| 欧美亚洲丝袜传媒另类| 在线观看成人免费视频| 欧美日韩精品一区二区三区| 欧美日韩国产免费| 在线不卡的av| 欧美一二三区在线观看| 久久综合色婷婷| 久久久精品国产99久久精品芒果 | 国产精品久久看| 国产欧美日韩在线| 国产精品久久久久毛片软件| 国产精品美女久久久久aⅴ| 中文字幕一区二区三区不卡在线| 国产精品视频免费看| 一区二区中文视频| 亚洲一区在线观看免费| 日日夜夜精品视频免费| 久久精品国产亚洲高清剧情介绍| 久久99久久久欧美国产| 国产精品12区| 色呦呦一区二区三区| 欧美手机在线视频| 日韩精品一区二区三区中文精品| 久久精品男人的天堂| 亚洲色图.com| 日韩电影在线一区| 国产乱人伦偷精品视频不卡| av在线一区二区三区| 欧美亚洲免费在线一区| 日韩美女一区二区三区| 日本一区二区免费在线| 一区二区三区四区在线播放 | 亚洲人成伊人成综合网小说| 亚洲一区二区偷拍精品| 极品美女销魂一区二区三区| 成人短视频下载| 欧美日本国产一区| 亚洲国产精品ⅴa在线观看| 亚洲国产精品久久人人爱 | 奇米影视一区二区三区| 国产一区二区不卡老阿姨| 91免费国产在线观看| 精品日韩在线观看| 亚洲精品欧美在线| 国内精品伊人久久久久av一坑| 91美女在线视频| 欧美大片在线观看一区| 亚洲乱码国产乱码精品精可以看| 蜜桃av噜噜一区| 色www精品视频在线观看| 精品国产一区a| 亚洲午夜日本在线观看| 成人免费精品视频| 精品国产露脸精彩对白| 亚洲无线码一区二区三区| 成人午夜免费电影| 日韩欧美久久一区| 一区二区三区四区蜜桃| 粉嫩aⅴ一区二区三区四区| 欧美日免费三级在线| 国产精品国产三级国产专播品爱网| 日韩av电影天堂| 欧美专区日韩专区| 国产精品免费aⅴ片在线观看| 毛片av一区二区| 欧美精品丝袜久久久中文字幕| 亚洲人妖av一区二区| 国产成人午夜视频| 久久免费视频色| 蜜桃视频在线一区| 制服.丝袜.亚洲.中文.综合| 一区二区三区免费| 91蜜桃视频在线| 国产精品久久久久永久免费观看| 国产精品一区久久久久| 日韩一区二区在线观看视频| 亚洲国产日韩一级| 91久久精品一区二区三区| 国产精品免费免费| 成人午夜电影网站| 国产午夜精品在线观看| 毛片不卡一区二区| 日韩精品中文字幕在线一区| 日产国产欧美视频一区精品| 欧美精品在线观看播放| 日本一道高清亚洲日美韩| 欧美日韩国产bt| 日产国产高清一区二区三区| 欧美一区二区在线免费观看| 丝瓜av网站精品一区二区| 4438x成人网最大色成网站| 五月激情综合网| 欧美区在线观看| 蜜桃视频一区二区三区在线观看 | av电影天堂一区二区在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 激情综合网av| 久久精品人人爽人人爽| 成人亚洲一区二区一| 国产精品国产三级国产专播品爱网 | 亚洲激情校园春色| 欧美自拍偷拍午夜视频| 亚洲第一二三四区| 欧美日韩午夜在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩欧美一区二区不卡| 久久99久久精品| 国产精品人妖ts系列视频 | 欧美一区二区在线视频| 久久99久久精品| 欧美—级在线免费片| 日本久久一区二区| 日本欧美肥老太交大片| 久久久国际精品| 99久久久无码国产精品| 午夜精品一区二区三区三上悠亚| 日韩视频一区在线观看| 成人av综合在线| 亚洲mv在线观看| 久久伊人蜜桃av一区二区| 波波电影院一区二区三区| 亚洲最新视频在线观看| 日韩一二三区视频| 99精品视频一区二区| 日韩精品欧美精品| 中文字幕一区二区在线播放| 欧美夫妻性生活|