C# 字节流通过 TCP

标签 c# tcp network-programming client-server

我是一名初级工程师,希望就如何解决这个问题向这里所有有经验的人寻求一些建议。

我被分配了一个项目来创建一个通过 TCP 进行字节流传输的服务器/客户端应用程序。我们公司使用 GPS 和调度软件处理 2 路 radio ,我们想用它制作服务器/客户端应用程序。目前,调度软件可以连接到用户必须在的中央基站,但我们希望可以从远程位置访问该软件(如果基站位于距离调度员所在位置数英里的中继器旁) ).

用户/客户端 -> 麦克风的轮询位置 -> 服务器 -> 基站 -> OTA 信号 -> radio 和返回

我一直在关注 Windows Communication Foundation,但我还有哪些其他方法可以解决这个问题?

我将主要使用 C#/.NET/Visual Studio 2008

最佳答案

我们使用 UDP 将 GPS 更新从汽车发送到处理更新的服务器。在这样的应用程序中(带宽通常有限),您可以真正分辨出 UDP 和瞬时 TCP 连接(如 HTTP)之间的区别(从远程主机到服务器获取数据所需的时间)。 UDP 数据包会在瞬间到达目的地,而 TCP 连接的设置非常明显,通常需要几秒钟才能完成。我喜欢 WCF 框架,但如果您的应用程序是我一直使用的那种系统,我怀疑您会对它感到满意(...除非更新之间有很长的间隔是可以的)。

最近,我一直在处理持久的 TCP 连接(使用原始套接字),如果您想确保数据包到达目的地,这是一个很好的方法。尽管我认为这样做的方法是尽可能长时间地保持连接打开,并合并代码以在连接中断时重新连接它。

关于C# 字节流通过 TCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3711183/

相关文章:

c# - 使用 key 保管库中的证书创建 Azure Web 应用 SSL 绑定(bind)

c# - .NET 核心 : HttpClientFactory: How to configure ConfigurePrimaryHttpMessageHandler without dependency injection?

c# - 使用反射映射相似对象 : Object does not match target type

java - Selector.select() 开始无限循环

java - 安卓TCP服务器

java - 从java程序向greasemonkey应用程序发送数据?

c# - 如何提高或保持复制文件的启动速度

c - 使用c访问链接本地地址

linux - 如何在 Rust 中设置套接字选项 SO_REUSEPORT?

C# 在通过 TCP 接收结构后反序列化结构