delphi利用Window API编写基于socket的tcp程序

本文提供了一段用Delphi编写的基于Windows API的TCP服务器和客户端程序示例,实现了字符串的双向通信。服务器端通过accept接收连接,客户端通过connect连接服务器并发送、接收消息。
摘要由CSDN通过智能技术生成

客户机和服务器可用互相通讯。 直接贴出代码吧,没有优化,代码可能有些冗余,只是实现了互相发送字符串的功能。仅供参考。

服务器端:

unit untserver;

interface

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

type
  clients = record
    soc :TSocket;
    add :sockaddr_in;
  end;
  pclients = ^clients;

  Tserver = class(TForm)
    edt1: TEdit;
    lbl1: TLabel;
    btn1: TButton;
    mmo1: TMemo;
    lbl2: TLabel;
    edt2: TEdit;
    btn2: TButton;
    btn3: TButton;
    edt3: TEdit;
    procedure btn1Click(Sender: TObject);
    procedure btn3Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    s :TSocket;
    acThreadID :DWORD;
  end;

procedure ServerAccept(s :TSocket);stdcall;
procedure SocketWorkThread(ns :TSocket);stdcall;
const buflen=100;

var
  server: Tserver;
  clientslist :TList;

implementation

{$R *.dfm}

procedure Tserver.btn1Click(Sender: TObject);
var
 wsa :TWSAData;
 wsstatus :Integer;
 sa : sockaddr_in;
begin
  wsstatus := WSAStartup($02

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值