初涉Delphi Socket编程


不是第一次接触socket编程了,但以前都是看别人的依葫芦画瓢,也不知道具体的原理。

新的项目,有了新的开始,同时也需要有新的认识。


Delphi 中带有两套TCP Socket组件:

    Indy Socket组件(IdTCPClient和IdTCPServer)和Delphi原生的TCP Socket组件(ClientSocket和ServerSocket),

    分别是阻塞式和非阻塞式的方式;

    还有一套开源的非阻塞式的组件ICS(Internet Component Suite)

    【网友说:不是特大型项目,都可以用Indy,Indy可以支持到1000个网络连接左右IOCP+WSAPI  连接能5万 10万都不是问题】

Delphi7之后在面板中看不到了TCP Socket组件,他并没有被抛弃,而是被隐藏了

【我猜测的原因是:非阻塞的出现是Unix支持fork,客户程序和服务器都能够fork新的进程,并启动这些进程,从而能够很方便地使用阻塞式Socket。而Windows 3.x既不支持fork也不支持多线程,当使用阻塞式Socket时,用户界面就会被“锁住”而无法响应用户输入。

而Delphi7的时代,Windows已经有了很大的改进,对于多线程的支持已经很好了,使用非阻塞式的难度明显比阻塞式的大多了。当然了具体的选择还是需要根据实际的项目需求确定的。】

激活的方式:

    在Component下选Install Packages
    加入在/Bin/dclsockets*0.bpl.;

 XE系列,安装后只有在VCL Form中能被看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值