DELPHI函数:API做的ServerSocket例子计算机二级考试

文章作者 100test 发表时间 2009:05:02 15:09:14
来源 100Test.Com百考试题网


  2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库
  program Server.
  {$APPTYPE CONSOLE}
  uses
  SysUtils,
  Winsock,
  Windows.
  type
  TParam=record
  TrdId:integer.
  Sckt:TSocket.
  end.
  //子线程函数
  function ChildThrd(p:Pointer):LongInt.stdcall.
  var
  PkLen:integer.
  ThreadId:integer.
  ASocket:TSocket.
  buf:array[0..63] of char.
  begin
  Result:=0.
  ThreadId:=TParam(p^).TrdId.
  ASocket:=TParam(p^).Sckt.
  Writeln(\Thread \ IntToStr(ThreadId) \ Create\).
  PkLen:=1.
  while PkLen>.0 do
  begin
  FillChar(buf,SizeOf(buf),0).
  PkLen:=Recv(ASocket,buf,SizeOf(buf),0). //接收数据
  Write(buf).
  if PkLen>.0 then
  begin
  Send(ASocket,buf,PkLen,0).//发送数据
  end.
  end.
  CloseSocket(ASocket). //关闭socket
  Dispose(p).
  Writeln(\Thread \ IntToStr(ThreadId) \ End\).
  Writeln(\Socket \ IntToStr(ASocket) \ DisConnect\).
  end.
  //主程序
  var
  MyWSA: WSAData.
  Svr,Clt: TSockAddr.
  NameLen:Integer.
  hSocket,s: TSocket.
  TimeOut:integer.
  ThreadCount:integer.
  hThread:Thandle.
  ThreadID:DWord.
  Param:^TParam.
  begin
  If WSAStartup(MAKEWORD(2,2), MyWSA) <.>. 0 Then //初始化
  Begin
  WSACleanup.
  Writeln(\WSAStartup() Fail\).
  Exit.
  end.
  hSocket := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP). //创建socket
  If hSocket = INVALID_SOCKET Then
  Begin
  WSACleanup.
  Writeln(\Socket() Fail\).
  Exit.
  End.

相关文章


计算机二级DELPHI函数:Hook技术实现键盘监控计算机二级考试
计算机二级DELPHI函数:捕获控制台程序输出计算机二级考试
DELPHI函数:API做的ServerSocket例子计算机二级考试
计算机二级DELPHI函数:WindowsAPI函数使用技巧计算机二级考试
计算机二级DELPHI函数:DelphiAPI函数详解计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛