现在的位置: 首页 > 综合 > 正文

初涉Delphi Socket编程

2013年02月21日 ⁄ 综合 ⁄ 共 665字 ⁄ 字号 评论关闭

不是第一次接触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中能被看到。

抱歉!评论已关闭.