我正在使用 TCP 套接字将每个大约 10 Mbs 的文件从 pc 发送到电话。在电话端,我收到这样的数据:
Dim B As Byte() = New Byte(Socket.ReceiveBufferSize - 1) {}
Me.Args.SetBuffer(B, 0, Socket.ReceiveBufferSize)
Me.Socket.ReceiveAsync(Me.Args)
ReceiveBufferSize 属性设置为 30000000。这就是我阅读它的方式:
Dim R As Byte() = New Byte(Me.Args.BytesTransferred - 1) {}
Dim s As New MemoryStream(Me.Args.Buffer)
Me.Args.SetBuffer(0, 0)
s.Read(R, 0, ntpData.Length)
s.Dispose()
此过程需要大量内存(约 300Mbs),因此我无法在内存使用限制为 180Mbs 的低价设备上运行该应用程序。.Dispose()
每次电话接收到某些东西时,我都无法使用套接字,因为它会引发 OjbectDisposed 异常。如何释放内存?