• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        運用winsock Api完成finger

        運用winsock Api完成finger

        更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

        在編制Winsocket程序的時候,要有一些必要的步驟:
        1、初始化Winsock動態連接庫;

        2、建立一個Winsock對象。

        3、連接主機。

        4、和主機進行數據交流。

        5、關閉Socket對象

        6、釋放Winsoket動態鏈接庫。

        下面是一個使用winsock Api實現finger實現的源程序:在delphi6中調試通過。

        unit finger;

        interface

        uses
        Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
        Dialogs,winsock, StdCtrls;

        type
        TForm1 = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
        edtHost: TEdit;
        btnFinger: TButton;
        edtUser: TEdit;
        memInfo: TMemo;
        procedure btnFingerClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        private
        { Private declarations }
        public
        { Public declarations }
        end;

        var
        Form1: TForm1;

        implementation

        {$R *.dfm}

        procedure TForm1.btnFingerClick(Sender: TObject);
        var
        Info:string;//服務器返回的用戶信息
        BufSend,BufRev:pChar;//中間信息
        skt:TSOCKET;//創建Socket對象
        addr:TSockAddr;//地址信息
        Re:Integer;
        begin
        //1、建立Socket
        skt:=socket(AF_INET,SOCK_STREAM,0);
        if(skt=INVALID_SOCKET)Then
        begin
        memInfo.Lines.Add('Error:Create Winsock Failed');
        exit;
        end;
        //2、連接主機
        ZeroMemory(@addr,sizeof(addr));
        Addr.sin_family:=AF_INET;
        Addr.sin_addr.S_addr:=inet_addr(Pchar(edtHost.Text));
        //開放79端口
        addr.sin_port:=htons(79);
        Re:=connect(skt,addr,sizeof(addr));
        if(Re<>0)then
        begin
        memInfo.Lines.Add('Connect to Server Failed!');
        exit;
        end;

        //3、發送信息
        GETMem(BufSend,1024);
        ZeroMemory(BufSend,1024);
        Info:=edtUser.Text+#10;
        StrPCopy(BufSend,info);
        Re:=Send(skt,Bufsend^,Length(BufSend),0);
        if(Re=SOCKET_ERROR)then
        begin
        memInfo.Lines.Add('Send Data Failed!');
        exit;
        end;
        //5、讀取主機返回信息
        GetMem(BufRev,1024);
        Repeat
        ZeroMemory(BufRev,1024);
        re:=recv(skt,BufRev^,1024,0);
        Info:=Strpas(bufRev);
        memInfo.Lines.Add(Info);
        Until re=0;
        memInfo.Lines.Add('FINISH!');
        FreeMem(BufSend);
        FreeMem(BufRev);
        //6、關閉socket連接
        closesocket(skt);
        end;

        procedure TForm1.FormCreate(Sender: TObject);
        var
        WSAData:TWSAData; //是TWSAData類型的變量,系統把加載的版本信息添加到這個結構中
        begin
        //初始化Winsock
        if(WSAStartup(MAKEWORD(2,0),WSAData)<>0)then
        begin
        //初始化失敗
        memInfo.Lines.Add('Winsock Init Failed!');
        exit;
        end
        else
        memInfo.Lines.Add('Winsock Start!');
        end;

        procedure TForm1.FormDestroy(Sender: TObject);
        begin
        WSACleanUP();
        end;

        end.
        如果有什么問題,請聯系 qiujianben@163.com (杭州電子工業學院)

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 中文字幕免费在线看线人动作大片| 亚洲人成电影网站久久| 美女羞羞喷液视频免费| 日本免费一区二区三区最新vr| 亚洲一卡2卡4卡5卡6卡在线99| ww在线观视频免费观看| 亚洲一区在线视频观看| 在线天堂免费观看.WWW | 亚洲国产精品免费视频| 国产免费拔擦拔擦8X高清在线人| 久久久青草青青亚洲国产免观| 成人精品一区二区三区不卡免费看| 亚洲不卡av不卡一区二区| 日本一道本不卡免费 | 曰批视频免费40分钟试看天天 | 国产国拍亚洲精品福利| 免费一区二区无码东京热| 亚洲人成在线观看| 中文字幕乱码免费视频| 亚洲人成色99999在线观看| 国产成人在线观看免费网站| 日本永久免费a∨在线视频| 亚洲va无码va在线va天堂| 99在线精品视频观看免费| 亚洲AV综合永久无码精品天堂| 亚洲一区二区三区无码影院| 一级毛片免费观看| 亚洲色大18成人网站WWW在线播放| 又粗又大又猛又爽免费视频| 最新国产乱人伦偷精品免费网站| 亚洲国产成人手机在线电影bd| 四虎国产精品免费久久影院| 日韩精品在线免费观看| 亚洲成AV人片在WWW| 亚洲人色婷婷成人网站在线观看| 亚洲精品动漫免费二区| 国产精品成人啪精品视频免费| 亚洲综合图片小说区热久久| 四虎1515hm免费国产| 免费A级毛片av无码| 深夜福利在线免费观看|