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

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

?? tnsrv1.cpp

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

Copyright:    Fran鏾is PIETTE
Creation:     September 27, 1997 (from Delphi version created in april 1996)
Version:      1.01
Description:  TnSrv implement a (very basic) Telnet server (daemon)
              Uses TWSocket to communicate with WinSock
EMail:        francois.piette@swing.be  francois.piette@pophost.eunet.be
              francois.piette@rtfm.be   http://www.rtfm.be/fpiette/indexuk.htm
Support:      Use the mailing list twsocket@rtfm.be See website for details.
Legal issues: Copyright (C) 1997-2000 by Fran鏾is PIETTE
              <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.

Updates:
Mar 27, 1998  1.01 Adapted to C++Builder V3.0

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

#include "tnsrv1.h"
//---------------------------------------------------------------------------
#pragma link "WSocket"
#pragma resource "*.dfm"
TServerForm *ServerForm;
//---------------------------------------------------------------------------
__fastcall TClient::TClient(TComponent* Owner)
    : TObject()
{
    Application->CreateForm(__classid(TClientForm), &Form);
}
//---------------------------------------------------------------------------
__fastcall TClient::~TClient()
{
    Form->Release();
}
//---------------------------------------------------------------------------
int __fastcall Pos(char Ch, char *Msg)
{
    char *p = Msg;

    while (*p && (*p != Ch))
        p++;
    return((*p) ? (p - Msg) : 0);
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::Display(char *Msg)
{
    AnsiString *Temp;

    Temp = new AnsiString(Msg);
    Display(Temp);
    delete Temp;
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::Display(AnsiString Msg)
{
    Display(&Msg);
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::Display(AnsiString *Msg)
{
    int Start, Stop;

    if (Memo->Lines->Count == 0)
        Memo->Lines->Add("");

    Start = 1;
    Stop  = Msg->Pos("\r");
    if (Stop == 0)
        Stop = Msg->Length() + 1;
    while (Start <= Msg->Length()) {
        Memo->Lines->Strings[Memo->Lines->Count - 1] =
            Memo->Lines->Strings[Memo->Lines->Count - 1] +
            Msg->SubString(Start, Stop - Start);
        if ((Stop <= Msg->Length()) && ((*Msg)[Stop] == '\r')) {
            Memo->Lines->Add("");
            SendMessage(Memo->Handle, WM_KEYDOWN, VK_UP, 1);
        }
        Start = Stop + 1;
        if (Start > Msg->Length())
            break;
        if ((*Msg)[Start] == '\n')
           Start = Start + 1;
        Stop = Start;
        while ((Stop <= Msg->Length()) && ((*Msg)[Stop] != '\r'))
            Stop++;
    }
}
//---------------------------------------------------------------------------
__fastcall TServerForm::TServerForm(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::FormCreate(TObject *Sender)
{
    Memo->Clear();
    Clients = new TList;
    Display("Telnet Server Ready\r\n");
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::FormActivate(TObject *Sender)
{
    static BOOL FirstTime = TRUE;

    if (FirstTime) {
        FirstTime = FALSE;
        SrvSocket->Listen();
    }
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::FormResize(TObject *Sender)
{
    Memo->Height      = ClientHeight - QuitButton->Height - 20;
    QuitButton->Left  = ClientWidth - QuitButton->Width - 10;
    AboutButton->Left = QuitButton->Left - AboutButton->Width - 10;
    QuitButton->Top   = ClientHeight - QuitButton->Height - 10;
    AboutButton->Top  = QuitButton->Top;
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::SrvSocketSessionAvailable(TObject *Sender,
    WORD Error)
{
    TSocket     NewHSocket;
    TSockAddrIn PeerName;
    TClient     *Client;
    AnsiString  Buffer;

    NewHSocket = SrvSocket->Accept();
    Client = new TClient(this);
    Client->Form->Reference  = Client;
    Client->Form->AcceptForm = this;
    Client->Form->Socket->Dup(NewHSocket);
    Client->Form->Socket->GetPeerName(PeerName, sizeof(PeerName));
    Client->Peer = inet_ntoa(PeerName.sin_addr);
    Buffer = "Remote " + Client->Peer + " connected\r\n";
    Display(Buffer);
    Client->Form->Caption = Client->Peer;
    Client->Form->Show();
    Clients->Add(Client);
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::WMDisconnect(TMessage Message)
{
    TClient    *Client;
    char       *Why;
    AnsiString Buffer;

    switch (Message.WParam) {
    case DISCONNECT_SELF   : Why = "has been disconnected";     break;
    case DISCONNECT_REMOTE : Why = "has closed the connection"; break;
    default                : Why = "disconnected";              break;
    }

    Client = (TClient *)(Message.LParam);
    Buffer = "Remote " + Client->Peer + " " + Why + "\r\n";
    Display(Buffer);
    Client->Form->Socket->Shutdown(2);
    Client->Form->Socket->Close();
    Client->Form->Visible = FALSE;
    Client->Form->Release();
    Clients->Remove(Client);
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::SrvSocketSessionClosed(TObject *Sender, WORD Error)
{
    Display("\r\n*** Remote has closed ***\r\n");
    if (SrvSocket->State == wsOpened)
        SrvSocket->Close();
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::QuitButtonClick(TObject *Sender)
{
    SrvSocket->Close();
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TServerForm::AboutButtonClick(TObject *Sender)
{
    Application->MessageBox(
        "TnSRV  V1.1 C++Builder 32 bit September 27, 1997\n\n"
        "Free Software, Copyright Fran鏾is Piette\n\n"
        "francois.piette@pophost.eunet.be  http://www.rtfm.be/fpiette\n",
        "About TnSrv", MB_OK);
}
//---------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大片国产精品| 在线日韩国产精品| 自拍av一区二区三区| 欧美一区二区视频在线观看2020| 91玉足脚交白嫩脚丫在线播放| 日韩精品1区2区3区| 一区二区三区高清在线| 国产精品久久久久久久久动漫| 久久久亚洲精品一区二区三区| 欧美日韩大陆一区二区| 欧美蜜桃一区二区三区| 国产日韩欧美麻豆| 国产欧美一区视频| 日本中文字幕一区二区视频| 亚洲大片一区二区三区| 一区二区在线观看视频在线观看| 亚洲女性喷水在线观看一区| 亚洲一区二区三区四区中文字幕 | 乱一区二区av| 免费高清在线一区| 国产精品自拍网站| 成人污污视频在线观看| jlzzjlzz欧美大全| 一本大道av一区二区在线播放| 成人av网址在线| 91福利视频网站| 欧美一区日韩一区| 亚洲网友自拍偷拍| 久久精品国产精品亚洲精品| 欧美日韩在线三级| 久久亚洲二区三区| 最新久久zyz资源站| 一区二区三区精品在线| 99久久国产综合精品色伊| 4438成人网| 欧美极品xxx| 亚洲福中文字幕伊人影院| 91视频91自| 亚洲免费av在线| 在线视频国产一区| 亚洲国产sm捆绑调教视频| 色综合久久久久| 亚洲精品美腿丝袜| 欧日韩精品视频| 亚洲第一综合色| 欧美高清性hdvideosex| 国产亚洲福利社区一区| 亚洲大型综合色站| 91麻豆精品国产91| 久久激情综合网| 久久午夜国产精品| 国产精品18久久久久久久久| 国产校园另类小说区| 国产99一区视频免费| 678五月天丁香亚洲综合网| 日本中文在线一区| 欧美精品一区二区三区在线播放| 亚洲欧美日韩在线| 欧美无乱码久久久免费午夜一区 | 成人av在线播放网站| 亚洲色大成网站www久久九九| 一本色道综合亚洲| 亚洲一区二区成人在线观看| 在线播放国产精品二区一二区四区| 日韩av不卡在线观看| 国产日韩欧美高清| 色婷婷综合久久久久中文| 亚洲成av人综合在线观看| 欧美mv日韩mv亚洲| 天天影视色香欲综合网老头| 91在线你懂得| 视频一区在线视频| 久久久久久久久久久久电影| 91浏览器在线视频| 蓝色福利精品导航| 亚洲少妇30p| 日韩一区二区不卡| 日韩二区三区四区| 久久久电影一区二区三区| 色偷偷一区二区三区| 久久精品二区亚洲w码| 亚洲视频免费看| 欧美一区二区私人影院日本| 成av人片一区二区| 日韩不卡一二三区| 自拍偷拍国产精品| 久久综合九色欧美综合狠狠| 色综合久久综合| 国内一区二区视频| 国产欧美一区二区在线| 欧美日韩免费视频| 波多野结衣中文字幕一区二区三区| 亚洲国产一区视频| 国产精品激情偷乱一区二区∴| 欧美猛男gaygay网站| 99久久久久久| 国产剧情一区二区三区| 午夜精品久久久久久不卡8050 | 中文字幕av一区二区三区| 欧美二区乱c少妇| 9久草视频在线视频精品| 裸体一区二区三区| 久久综合久久99| 制服视频三区第一页精品| 一本久久综合亚洲鲁鲁五月天| 精品一区二区三区不卡| 国产女人18水真多18精品一级做| 欧美性生活大片视频| 91在线视频观看| 成人av午夜影院| 国产精品18久久久久久久久久久久| 日本成人中文字幕| 亚洲一区精品在线| 亚洲人成伊人成综合网小说| 中文字幕欧美日韩一区| 日韩女优制服丝袜电影| 日韩一区二区视频| 欧美一区三区四区| 欧美高清视频不卡网| 精品视频免费在线| 欧美日韩视频第一区| 欧美日韩久久久| 欧美日韩一区国产| 精品视频1区2区| 欧美美女喷水视频| 欧美日本一区二区在线观看| 欧美伊人精品成人久久综合97 | 91精品国产综合久久婷婷香蕉| 色一情一乱一乱一91av| 色菇凉天天综合网| 在线观看亚洲专区| 91久久精品一区二区三区| 色综合久久中文综合久久97| 色天使久久综合网天天| 日本精品裸体写真集在线观看 | 成人国产精品免费观看视频| 风间由美一区二区av101| 豆国产96在线|亚洲| 菠萝蜜视频在线观看一区| 色综合色狠狠综合色| 色嗨嗨av一区二区三区| 欧美色网站导航| 日韩一区二区三区四区| 日韩欧美亚洲国产另类| 欧美精品一区二区三区视频| 久久精品一区二区| 中文字幕一区在线| 亚洲高清久久久| 久久精品国产成人一区二区三区| 国产一区二区伦理| 免费成人结看片| 韩国理伦片一区二区三区在线播放| 国产在线麻豆精品观看| 成人激情小说乱人伦| 日本精品一区二区三区高清 | 欧美三级资源在线| 日韩欧美国产午夜精品| 国产日韩av一区二区| 亚洲丝袜制服诱惑| 天天色综合成人网| 国产一区二区三区精品视频| 99riav一区二区三区| 欧美日韩综合一区| 精品久久久久久久一区二区蜜臀| 国产精品乱码一区二区三区软件| 久久一夜天堂av一区二区三区| 国产精品嫩草久久久久| 午夜一区二区三区视频| 国产精一品亚洲二区在线视频| 91免费视频网| www国产成人| 亚洲综合在线免费观看| 九九视频精品免费| 色婷婷综合激情| 久久精品欧美一区二区三区不卡 | 国产精品美女久久福利网站| 亚洲国产精品综合小说图片区| 久久成人综合网| 色婷婷激情一区二区三区| 日韩网站在线看片你懂的| 亚洲视频香蕉人妖| 国产乱子伦视频一区二区三区 | 欧美日韩www| 国产精品色在线观看| 奇米色777欧美一区二区| 99re这里只有精品6| 精品久久久久久久久久久久久久久久久 | 国产综合久久久久影院| 在线观看免费视频综合| 精品国产在天天线2019| 亚洲精品成人a在线观看| 国产mv日韩mv欧美| 日韩欧美一级二级| 天天综合色天天综合色h| 成人精品在线视频观看| 欧美成人猛片aaaaaaa| 亚洲bt欧美bt精品| 91传媒视频在线播放| 欧美国产综合一区二区| 久久精品99国产国产精|