有什么区别:
AContext.Socket.ReadBytes(...);
vs
AContext.IOHandler.ReadBytes(...);
它们的工作原理一样吗?或者可能是 IOHandler 中的一些缓存或者其他东西?
最佳答案
这两个实际上是完全相同的方法。当 Socket
属性是 TIdIOHandlerSocket
派生对象(大多数情况下)时,它指向相同的 IOHandler
组件,并且 nil
否则。对于大多数 I/O 操作,您应该直接使用 IOHandler 属性,因为它为将 Indy 与不同类型的 I/O 系统结合使用提供了更大的灵 active 。 Socket
属性是套接字特定功能的有用快捷方式,例如访问套接字的关联 IP/端口值。
关于德尔福:Socket.ReadBytes();与 IOHandler.ReadBytes(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8440026/