问题标签 [networkstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - protobuf-csharp 端口
我正在使用 Jon Skeet 的(优秀的)谷歌协议缓冲区到 C#/.Net 的端口。
为了练习,我编写了一个虚拟即时通讯应用程序,它通过套接字发送一些消息。我有一个消息定义如下: -
当发送者序列化消息时,它会非常优雅地发送它:-
这很好用。但在另一端,我无法ParseFrom
正常工作。
我想使用:-
但相反,我不得不将其读取为字节,然后从这里解析它。由于多种原因,这显然不是理想的。当前代码是:-
当我尝试使用ParseFrom
时,即使我知道在线上有有效的 GB 消息,控制也不会返回到调用方法。
任何建议将不胜感激,
私服
c# - 使用 NetworkStream 传输文件
我在将文件从服务器程序传输到客户端时遇到问题。我想解决几个问题。首先是我将字节数组设置为 6000 字节大,并且始终保持该大小。有没有办法保持正确的文件大小?同样以现在的代码方式,程序挂起。当我将它从客户端的 while 循环中取出时,它就起作用了。帮助!!
客户:
服务器:
编辑!!!:我修复了循环问题。
c# - 使用 NetworkStream 传输文件然后重建文件失败
我正在尝试通过 NetworkStream 发送文件并在客户端重建它。我可以正确地获取数据(我认为),但是当我使用 BinaryWriter 或 FileStream 对象重新创建文件时,无论我使用什么方法,文件都会在同一点开始被切断。
当我逐步检查文件名和文件大小时,它们是正确的。byte[] 也被完全填充。关于我接下来可以做什么的任何线索?
提前致谢...
肖恩
编辑!!!:
所以我弄清楚发生了什么。当我读取一个字符串,然后从流中读取 Int 时,字节数组的长度为 256 个索引。所以我对字符串的读取正在接受 int,然后它将破坏其他区域。需要弄清楚这个...
c# - 通过 NetworkStream 传输项目会导致一些数据被破坏
我正在发送一个文件名(字符串)、文件大小(int)和文件(字节[])。正在发生的事情是,在某些情况下,根据服务器端处理数据的速度,NetworkStream 已经读取了我还不需要的数据。
示例:我执行 .Read 来获取文件名,我将获取文件名、文件大小和文件原始数据的数据。我认为发生这种情况是因为服务器只是执行 .Write 并将数据写入流中,而第一个 .Read 尚未执行。这最终破坏了我的文件大小.Read。现在,当我为我的文件大小执行 .Read 时,我显示了一个巨大的数字,当我去读取文件本身并根据读取的文件大小分配一个新的 byte[] 时,我得到了 OutOfMemory 异常。
如何正确同步读取?我在网上找到的例子就是按照我的方式做的。
一些代码:
我试过使用偏移量......没有运气。感谢您的帮助。
我开始了另一个问题,但它与其他问题有关。
提前感谢肖恩
编辑:这是我的发送字符串代码:
c# - 读取 NetworkStream = 100% CPU 使用率
我正在从处于 while 循环中的 NetworkStream 读取数据。问题是我看到 100% 的 CPU 使用率。有没有办法阻止这种情况发生?
这是我到目前为止所拥有的:
...代码继续...
ReadStringFromClient 代码:
c# - 使用 NetworkStream 错误地传输较大的文件大小
我正在通过 NetworkStream 传输文件,似乎当文件超过 5-10k 时,文件开始丢失数据和/或有巨大的空白间隙。
这是我所拥有的:
flash - 卸载外部 swf 后声音继续播放
我有一个 Flash 应用程序,某种加载外部 SWF 视频播放器的播放列表(我没有对该外部文件的代码访问权限),因此用户可以观看视频或跳到另一个视频。当用户切换到另一个视频时,正在加载新的 SWF 文件。
问题:如果用户没有看完视频并跳到下一个,那么我会卸载以前的 SWF 文件 ( unloadAndStop()
) 并加载一个新文件。而且因为之前的 SWF 正在播放,它实际上并没有被卸载,它仍然在后台播放(我听到两个音轨:当前和上一个)。
我试过SoundMixer.stopAll()
打电话,但它实际上并没有帮助,因为背景加载和当前视频开始播放时的声音。
有没有办法从主“加载器”应用程序中解决这个问题?
c# - 是否可以在 ASP.NET 中直接写入/读取 TCP 流?
我想直接编写和读取 TCP 流,无需 ASP 或 IIS 进行任何修改。这可能吗?
编辑:目标是提供程序和服务器之间的通信。它们之间的数据交换少于每个连接 25 个字节(默认情况下)。因此,标头将导致比真实数据更多的流量。我需要使用 ASP.Net,因为服务器的所有者不允许我执行我的程序。
c# - 如何在 protobuf-net 中告诉在调用 DeserializeWithLengthPrefix 时从 NetworkStream 中读取了多少字节
有没有办法做到这一点?我想知道当我调用 DeserializeWithLengthPrefix 时从 NetworkStream 中读取了多少字节。由于 NetworkStream 不支持 Position 属性,我看不到执行此操作的简单方法。这可以以合理有效的方式完成吗?出于分析目的,我需要知道这一点,并且尽可能低的分析开销是理想的。
c# - 未连接的套接字上不允许操作 - C# 4.0
它在线上一直出现错误“在未连接的套接字上不允许操作”
我不太确定为什么
下面是该函数的其余代码