我有一个TcpClient对象,它使用其底层的NetworkStream.Write()向服务器发送一些数据. TcpClient server = new TcpClient(serverName, 50001); /* ... */ NetworkStream stream = se...
我希望能够在C#中获取TCP网络流中可用的数据长度,以设置缓冲区的大小,然后再从网络流中读取。有一个NetworkStream.Length属性,但尚未实现,而且我不想为缓冲区分配过大的空间,因为这会占用太多空间。我想到的唯一方法是在数据传输之前插入另一个数据告知其大小,但这似乎有些混乱。有什...
我正在编写一些股票机器学习软件,想找一些分笔数据或至少3到5分钟的数据。 我希望有一年或两年用于测试。 我不太关心数据来自哪个交易所,只要是从某个主要交易所得到的就可以。 还有没有什么地方可以连接到延迟的“实时”数据流? 数据不一定是免费的,但免费当然更好 :-)
我正在构建一个服务器和客户端之间通信的方式。目前的工作方式是,数据流的第一个字节包含要传递的内容指示器,然后查找该请求的类别,以确定请求的长度: stream.Read(message, 0, 1) if(message == <byte representation of a kn...
因此,似乎阻塞式Read()在接收所有发送给它的数据之前就返回了。因此我们使用一个由所涉及的流中的DataAvailable值控制的循环来包装Read()。问题在于,在这个while循环中,您可能会收到更多的数据,但是没有任何后台处理让系统知道这一点。我在网上找到的大多数解决方案都无法适用于我...
我正在尝试将一台古老的网络摄像机与我的计算机连接,但我卡在了一个非常基本的问题上--检测流的结束。 我正在使用 TcpClient 与相机通信,并且我可以看到它传输命令数据,这里没有任何问题。 List<int> incoming = new List<i...
我想知道如何最好地处理使用Socket对象和NetworkStream对象的类?该类具有一个NetworkStream实例和一个Socket实例,用于创建NetworkStream。 this.socket = new Socket( A...
我只需要从 SslStream 中读取最多 N 个字节,但如果在超时之前没有接收到任何字节,则取消操作,同时保持流处于有效状态以便稍后再次尝试。 (*) 这对于非SSL流(例如 NetworkStream)很容易实现,只需使用其 ReadTimeout 属性即可使流在超时时引发异常。不幸的是,...
MSDN文档似乎表明NetworkStream.Read将总是立即返回。如果没有找到数据,则返回0。但是,我有一些代码当前正在运行,只有在某些情况下(我还没有弄清楚哪些情况),NetworkStream.Read似乎会挂起。以下是我从转储文件中收集到的堆栈跟踪: 00000000705ae...
目前在C#中没有NetworkStream.Peek方法。那么如何实现一个类似于NetworkStream.ReadByte的Peek方法,但返回的byte并不会从Stream中移除?