Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi:Socket.ReadBytes();vs IOHandler.ReadBytes()_Delphi_Sockets_Indy - Fatal编程技术网

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

Delphi:Socket.ReadBytes();vs IOHandler.ReadBytes(),delphi,sockets,indy,Delphi,Sockets,Indy,这两者之间有什么区别 AContext.Socket.ReadBytes(...); vs AContext.IOHandler.ReadBytes(...); 它们的工作原理相同吗?或者IOHandler中的缓存或其他什么?这两种方法实际上是完全相同的。Socket属性指向相同的IOHandler组件,如果它是TIdIOHandlerSocket派生的对象(大多数情况下是这样),则为nil。对于大多数I/O操作,您应该直接使用IOHandler属性,因为它为在不同类型的I/O系统中使用

这两者之间有什么区别

AContext.Socket.ReadBytes(...);

 vs

AContext.IOHandler.ReadBytes(...);

它们的工作原理相同吗?或者IOHandler中的缓存或其他什么?

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

使用IdTCPClient,Delphi 2010,Indy 10