欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

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

運用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 (杭州電子工業學院)

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

本類教程下載

系統下載排行

主站蜘蛛池模板: 洪湖市| 淄博市| 雅江县| 汾阳市| 新河县| 抚松县| 海丰县| 英山县| 湘潭市| 柘城县| 自贡市| 平江县| 梅河口市| 南部县| 五莲县| 将乐县| 岳普湖县| 日土县| 五常市| 霍城县| 广东省| 亚东县| 朝阳区| 新沂市| 郴州市| 涟源市| 丰顺县| 荣成市| 平邑县| 东乌珠穆沁旗| 沈阳市| 九龙县| 兴文县| 日照市| 河北区| 绍兴县| 南华县| 肇州县| 南溪县| 乌恰县| 大同市|