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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? tnsrv2.pas

?? 包含常用Internet協(xié)議TCP,UDP、HTTP、FTP、Telnet等
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
        if Trim(CommandTail) = '' then begin
            Socket.SendStr('+OK 2 messages (320 octets)' + #13 + #10);
            Socket.SendStr('1 120' + #13 + #10);
            Socket.SendStr('2 200' + #13 + #10);
            Response := '.'
        end
        else
            Response := '+OK ' + CommandTail + ' 200'
    end
    else if CommandVerb = 'STAT' then
        Response := '+OK 10 12345'
    else if CommandVerb = 'QUIT' then
        Response := '+OK'
    else if CommandVerb = 'TOP' then begin
        if atoi(CommandTail) <= 0 then
            Response := '-ERR Message doesn''t exists'
        else begin
            Socket.SendStr('+OK' + #13 + #10);
            Socket.SendStr('This is the message body.' + #13 + #10);
            Socket.SendStr('This is the last message line.' + #13 + #10);
            Response := '.'
        end;
    end
    else if CommandVerb = 'RPOP' then
        Response := '+OK'
    else if CommandVerb = 'APOP' then
        Response := '+OK'
    else if CommandVerb = 'DELE' then
        Response := '+OK'
    else if CommandVerb = 'LAST' then
        Response := '+OK 1'
    else if CommandVerb = 'NOOP' then
        Response := '+OK'
    else if CommandVerb = 'UIDL' then
        Response := '+OK ' + Trim(CommandTail) + ' Msg' + Trim(CommandTail)
    else if CommandVerb = 'RSET' then
        Response := '+OK'
    else
        Response := '-ERR';

    Socket.SendStr(Response + #13 + #10);
    if CommandVerb = 'QUIT' then
        Socket.Close;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{ Not a real TELNET command interpreter, just enough to see how it could    }
{ be implemented.                                                           }
procedure TClientForm.TELNET_Interpreter(
    CommandVerb : String;
    CommandTail : String);
begin
    Socket.SendStr(#13 + #10 + 'Executing command ''' + CommandVerb + '''...' +
                   #13 + #10);

    if CommandVerb = 'EXIT' then
        DisconnectButtonClick(Self)
    else if CommandVerb = 'HELP' then
        Socket.SendStr('List of commands:' + #13 + #10 +
                       '    Exit      logoff from server' + #13 + #10 +
                       '    Help      show this help screen' + #13 + #10)
    else
        Socket.SendStr('Unknown command, ignoring');

    Socket.SendStr(#13 + #10 + '--> ');
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{ This is the command line interpreter. Should extend the code to support   }
{ every command needed...                                                   }
procedure TClientForm.CommandInterpreter;
var
    CommandVerb : String;
    CommandTail : String;
    I, J        : Integer;
begin
    CommandVerb := FCommand;

    { Skip leading spaces }
    I := 1;
    while (I <= Length(CommandVerb)) and (CommandVerb[I] in [' ', #9]) do
        Inc(I);

    { Find separator and separe CommandVerb and CommandTail }
    J := I;
    while TRUE do begin
        if (J >= Length(CommandVerb)) then begin
            CommandTail := '';
            break;
        end;

        if CommandVerb[J] in [' ', #9, '/'] then begin
            CommandTail := Copy(CommandVerb, J, Length(CommandVerb) - J + 1);
            CommandVerb := Copy(CommandVerb, I, J - I);
            break;
        end;
        Inc(J);
    end;
    CommandVerb := UpperCase(CommandVerb);

    if PortNum = SMTP_PORT then
        SMTP_Interpreter(CommandVerb, CommandTail)
    else if PortNum = POP3_PORT then
        POP3_Interpreter(CommandVerb, CommandTail)
    else
        TELNET_Interpreter(CommandVerb, CommandTail);

    FCommand := '';
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{* Process each charcter received to do minimal line editing                }
procedure TClientForm.ProcessChar(Ch : Char);
begin
    if Ch = #8 then begin
        if Length(FCommand) > 0 then begin
            SetLength(FCommand, Length(FCommand) - 1);
            Socket.SendStr(#8 + ' ' + #8);
        end
        else
            Socket.SendStr(#7);
        Exit;
    end
    else if (Ch = #10) and FRcvdCR then begin
        { Ignore LF just after CR (CR/LF is normal end of line) }
        FRcvdCR := FALSE;
        Exit;
    end
    else if Ch = #13 then begin
        FRcvdCR := TRUE;
        CommandInterpreter;
        Exit;
    end
    else if Ch = #10 then begin
        CommandInterpreter;
        Exit;
    end;

    { Ordinary character, put in buffer in some place left }
{$IFNDEF WIN32}
    if Length(FCommand) = High(FCommand) then
        Ch := #7
    else
{$ENDIF}
        FCommand := FCommand + Ch;

    if (PortNum <> POP3_PORT) and (PortNum <> SMTP_PORT) then begin
        { Echo to client }
        Socket.Send(@Ch, 1);
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{* Event handler for datavailable. Called each time some data is received  *}
procedure TClientForm.SocketDataAvailable(Sender: TObject; Error : word);
var
    Len    : Integer;
    Buffer : String[255];
    Socket : TWSocket;
    I      : Integer;
begin
    Socket := Sender as TWSocket;
    Len := Socket.Receive(@Buffer[1], High(Buffer));
    if Len = 0 then begin
        { Remote has closed }
        Display(#13 + #10 + '**** Remote has closed ****' + #13 + #10);
    end
    else if Len < 0 then begin
        { An error has occured }
        if Socket.LastError <> WSAEWOULDBLOCK then
            Display(#13 + #10 + '**** ERROR: ' + IntToStr(Socket.LastError) +
                    ' ****' + #13 + #10);
    end
    else begin
        Buffer[0] := chr(Len);
        Display(Buffer);
        for I := 1 to Len do
            ProcessChar(Buffer[I]);
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{* Event handler called when the remote has closed the connection          *}
procedure TClientForm.SocketSessionClosed(Sender: TObject; Error : word);
begin
    Display(#13 + #10 + '**** Remote has closed ****' + #13 + #10);
    PostMessage(AcceptForm.Handle, WM_DISCONNECT,
                                   DISCONNECT_REMOTE,
                                   LongInt(Reference));
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TClientForm.FormDestroy(Sender: TObject);
begin
    Socket.Shutdown(2);
    Socket.Close;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TClientForm.DisconnectButtonClick(Sender: TObject);
begin
    { Post a message to server form asking to disconnect the client }
    PostMessage(AcceptForm.Handle, WM_DISCONNECT,
                                   DISCONNECT_SELF,
                                   LongInt(Reference));
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TClientForm.FormShow(Sender: TObject);
var
    Buf : String;
begin
    if PortNum = POP3_PORT then
        Buf := '+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>' + #13 + #10
    else if PortNum = SMTP_PORT then begin
        Buf := '220-SMTP Simulator ready' + #13 + #10;
        Socket.Send(@Buf[1], Length(Buf));
        Buf := '220 ESMTP spoken here' + #13 + #10;
    end
    else
        Buf := 'Hello from TnSrv !' + #13 + #10 + '--> ';

    Socket.Send(@Buf[1], Length(Buf));
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TClientForm.SendButtonClick(Sender: TObject);
var
    Buf : String;
begin
    Buf := DataEdit.Text + #13 + #10;
    Socket.Send(@Buf[1], Length(Buf));
    DataEdit.Text := '';
    ActiveControl := DataEdit;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{ Adjust the position for each control in the form as the user resize it   *}
procedure TClientForm.FormResize(Sender: TObject);
begin
    Memo.Height           := ClientHeight - DisconnectButton.Height -
                             DataEdit.Height - 30;
    DisconnectButton.Left := ClientWidth - DisconnectButton.Width - 10;
    SendButton.Left       := DisconnectButton.Left - SendButton.Width - 10;
    DisconnectButton.Top  := ClientHeight - DisconnectButton.Height - 10;
    SendButton.Top        := DisconnectButton.Top;
    DataEdit.Top          := DisconnectButton.Top - DataEdit.Height - 10;
    DataEdit.Width        := ClientWidth - 2 * DataEdit.Left;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TClientForm.Button1Click(Sender: TObject);
begin
    Socket.SendStr('Hello !');
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品丝袜一区| 中文字幕精品一区二区精品绿巨人| 国产精品视频一二三| 日本二三区不卡| 奇米影视一区二区三区小说| 国产三级一区二区| 在线欧美小视频| 国内精品久久久久影院色| 亚洲欧美经典视频| 精品日产卡一卡二卡麻豆| 91网站视频在线观看| 美女mm1313爽爽久久久蜜臀| 一区在线中文字幕| 日韩一级二级三级| 丁香婷婷综合色啪| 香港成人在线视频| 国产精品蜜臀av| 91精品国产91久久久久久一区二区 | 国产成人精品www牛牛影视| 一区二区三区久久| 久久精品欧美日韩精品| 欧美一级生活片| 欧美美女网站色| 欧美色国产精品| 在线中文字幕一区二区| 成人avav影音| 成人教育av在线| 成人教育av在线| 成人一道本在线| 成人免费观看av| 国产成人免费视频一区| 国产剧情一区在线| 久久精品二区亚洲w码| 日本中文字幕一区二区视频| 亚洲大片精品永久免费| 亚洲va在线va天堂| 视频一区在线视频| 日本免费在线视频不卡一不卡二| 天天操天天干天天综合网| 五月综合激情婷婷六月色窝| 午夜精品在线看| 日韩1区2区3区| 麻豆传媒一区二区三区| 捆绑变态av一区二区三区| 久久综合综合久久综合| 国产真实精品久久二三区| 国产一区二区三区黄视频 | 伊人夜夜躁av伊人久久| 亚洲激情自拍视频| 亚洲小少妇裸体bbw| 午夜av区久久| 看电视剧不卡顿的网站| 国产传媒欧美日韩成人| 成人午夜碰碰视频| av不卡在线播放| 欧美在线观看禁18| 91精品久久久久久久久99蜜臂| 日韩小视频在线观看专区| 2021久久国产精品不只是精品| 久久久综合激的五月天| 国产精品成人午夜| 亚洲成人中文在线| 久久99精品久久久久久国产越南| 国产精品香蕉一区二区三区| 91视频在线观看| 在线不卡a资源高清| 久久久久久久久蜜桃| 中文字幕中文字幕中文字幕亚洲无线| 亚洲精品国产高清久久伦理二区| 午夜精品福利一区二区三区av| 极品少妇一区二区三区精品视频| www.66久久| 制服丝袜亚洲色图| 国产喂奶挤奶一区二区三区| 亚洲色图一区二区| voyeur盗摄精品| 国产美女视频91| 91丨国产丨九色丨pron| 欧美精品久久久久久久久老牛影院| 欧美精品一区二区三区蜜臀| 日韩一区在线免费观看| 日韩高清中文字幕一区| 丁香激情综合国产| 欧美日本国产一区| 国产精品你懂的在线欣赏| 天堂蜜桃91精品| 成人黄色小视频在线观看| 8x福利精品第一导航| 国产精品网站在线观看| 日本免费在线视频不卡一不卡二| 99在线视频精品| 日韩欧美国产综合一区 | 欧美激情一区二区| 日日欢夜夜爽一区| 成人黄色小视频| 欧美大片顶级少妇| 亚洲一区欧美一区| 丰满少妇在线播放bd日韩电影| 欧美日韩国产经典色站一区二区三区 | 欧美美女激情18p| 国产精品萝li| 国产一本一道久久香蕉| 欧美精品久久99久久在免费线| 国产精品九色蝌蚪自拍| 国产一区二区在线电影| 欧美美女一区二区| 一区二区三区日韩欧美| 成人av在线播放网址| 日韩女优毛片在线| 三级影片在线观看欧美日韩一区二区| 成人国产精品免费网站| 欧美成人乱码一区二区三区| 天堂精品中文字幕在线| 91国偷自产一区二区三区成为亚洲经典 | 国产成人午夜视频| 欧美成人vr18sexvr| 日韩精品一级二级 | 成人国产精品免费网站| 久久久久久日产精品| 免费成人性网站| 欧美男人的天堂一二区| 一区二区三区日韩欧美| 色婷婷香蕉在线一区二区| 一区二区中文视频| 成人午夜av在线| 国产人久久人人人人爽| 国内精品国产成人国产三级粉色| 欧美一级久久久| 美女精品自拍一二三四| 日韩一区二区三区高清免费看看| 午夜欧美电影在线观看| 在线观看欧美黄色| 亚洲国产精品久久人人爱| 欧美午夜视频网站| 亚洲成人av在线电影| 欧美三级中文字幕| 午夜a成v人精品| 91麻豆精品国产自产在线| 日韩黄色片在线观看| 欧美一区二区三区免费大片| 美美哒免费高清在线观看视频一区二区 | 国产激情视频一区二区三区欧美| 久久精品欧美一区二区三区不卡| 国产精品中文字幕日韩精品| 精品成人佐山爱一区二区| 久久机这里只有精品| 精品久久久久久久久久久久包黑料 | 丝袜美腿亚洲一区二区图片| 51精品视频一区二区三区| 日韩电影一区二区三区| 日韩欧美激情在线| 国产a久久麻豆| 成人免费一区二区三区视频| 色婷婷香蕉在线一区二区| 婷婷国产在线综合| 久久综合成人精品亚洲另类欧美 | 肉色丝袜一区二区| 日韩欧美一区二区三区在线| 国产成人综合亚洲91猫咪| 国产精品蜜臀av| 精品视频一区二区不卡| 青青草精品视频| 国产日韩精品一区二区三区在线| 99久久99久久久精品齐齐| 亚洲v日本v欧美v久久精品| 精品毛片乱码1区2区3区| 不卡在线观看av| 五月婷婷欧美视频| 久久久国产综合精品女国产盗摄| 99久久精品久久久久久清纯| 亚洲第一在线综合网站| 337p粉嫩大胆色噜噜噜噜亚洲| 成人v精品蜜桃久久一区| 亚洲国产视频一区| 久久久久久久久久久久久久久99| 成人97人人超碰人人99| 日韩在线观看一区二区| 欧美国产视频在线| 欧美日韩视频在线一区二区| 韩日精品视频一区| 亚洲综合免费观看高清完整版| 精品国产露脸精彩对白 | 欧美日高清视频| 国产aⅴ综合色| 日韩精品亚洲一区二区三区免费| 国产午夜三级一区二区三| 欧美日韩大陆一区二区| 国产ts人妖一区二区| 日韩高清不卡一区二区三区| 国产精品国产精品国产专区不片| 91精品欧美久久久久久动漫 | 国产视频一区在线播放| 欧美精选一区二区| 99九九99九九九视频精品| 麻豆传媒一区二区三区| 一区二区三区毛片| 国产日产欧美精品一区二区三区| 91精品综合久久久久久| 91免费看`日韩一区二区| 国产一区二区三区久久久|