德尔福:Socket.ReadBytes();与 IOHandler.ReadBytes() 比较
之间有什么区别:
AContext.Socket.ReadBytes(...);
vs
AContext.IOHandler.ReadBytes(...);
它们的工作原理相同吗?或者可能是 IOHandler 中的一些缓存或其他东西?
Whats the difference between:
AContext.Socket.ReadBytes(...);
vs
AContext.IOHandler.ReadBytes(...);
Do they work the same ? Or maybe some cache in IOHandler or something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两者实际上是完全相同的方法。当
Socket
属性是TIdIOHandlerSocket
派生对象(大多数情况下)时,它指向相同的IOHandler
组件,并且 < code>nil 否则。对于大多数 I/O 操作,您应该直接使用 IOHandler 属性,因为它为将 Indy 与不同类型的 I/O 系统结合使用提供了更大的灵活性。Socket
属性是套接字特定功能的有用快捷方式,例如访问套接字的关联 IP/端口值。The two are actually the exact same method. The
Socket
property points to the sameIOHandler
component when it is aTIdIOHandlerSocket
-derived object (which is most of the time), and isnil
otherwise. You should use theIOHandler
property directly for most I/O operations, as it offers more flexibility to use Indy with different types of I/O systems. TheSocket
property is a useful shortcut for socket-specific functionality, like accessing the socket's associated IP/Port values.