Delphi:Socket.ReadBytes(); vs IOHandler.ReadBytes()

时间:2011-12-09 01:29:03

标签: delphi sockets indy

区别:

AContext.Socket.ReadBytes(...);

 vs

AContext.IOHandler.ReadBytes(...);

他们的工作方式相同吗?或者也许是IOHandler中的一些缓存或什么?

1 个答案:

答案 0 :(得分:6)

这两个实际上是完全相同的方法。当Socket属性是IOHandler派生对象(大多数时间)时,TIdIOHandlerSocket属性指向相同的nil组件,否则为IOHandler。您应该将Socket属性直接用于大多数I / O操作,因为它为使用不同类型的I / O系统的Indy提供了更大的灵活性。 {{1}}属性是特定于套接字的功能的有用快捷方式,例如访问套接字的关联IP /端口值。