大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 使用winsock Api实现finger

使用winsock Api实现finger

时间: 2021-07-31 作者:daque

在体例winsocket步调的功夫,要有少许需要的办法: 1、初始化winsock动静贯穿库;2、创造一个winsock东西。3、贯穿长机。4、和长机举行数据交谈。5、封闭socket东西6、开释winsoket动静链接库。底下是一个使用winsock Api实现finger实行的源步调:在delphi6中调节和测试经过。unit finger;interfaceuseswindows, messages, sysutils, variants, classes, graphics, controls, forms,dialogs,winsock, stdctrls;typetform1 = 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;varform1: tform1;implementation{$r *.dfm}procedure tform1.btnfingerclick(sender: tobject);varinfo:string;//效劳器归来的用户消息bufsend,bufrev:pchar;//中央消息skt:tsocket;//创造socket东西addr:tsockaddr;//地方消息re:integer;begin//1、创造socketskt:=socket(af_inet,sock_stream,0);if(skt=invalid_socket)thenbeginmeminfo.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)thenbeginmeminfo.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)thenbeginmeminfo.lines.add('send data failed!');exit;end;//5、读取长机归来消息getmem(bufrev,1024);repeatzeromemory(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);varwsadata:twsadata; //是twsadata典型的变量,体例把加载的本子消息增添到这个构造中begin//初始化winsockif(wsastartup(makeword(2,0),wsadata)<>0)thenbegin//初始化波折meminfo.lines.add('winsock init failed!');exit;endelsememinfo.lines.add('winsock start!');end;procedure tform1.formdestroy(sender: tobject);beginwsacleanup();end;end.即使有什么题目,请接洽 qiujianben@163.com (杭州电子产业学院)

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.