我正在开展一个项目,我应该将数据从c#服务器传输到Java客户端(在Android设备上运行)。 我需要使用UDP协议来获取实时数据并保持性能。 在网上搜索。没有找到任何类似的例子,我真的不知道从哪里开始。
你可以建议是否可以这样做吗?提前致谢。
答案 0 :(得分:1)
是的,可以做到。这是关于互联网协议的美妙之处:对标准套接字的支持是如此广泛和普遍,以至于运行完全不同的CPU架构和软件环境的不同设备几乎可以互操作。
请确保UDP确实是这项工作的最佳工具。你需要可靠的送货吗?您需要按顺序交货吗?你能承受多少包丢失?你可以容忍多少包重新排序?您的应用程序是否会正常处理540字节数据包,因为它将处理1500字节数据包?您的应用程序是否需要防范man in the middle attacks?怎么样?
TCP是一种令人难以置信的协议。许多使用UDP“速度”的尝试最终会重新实现TCP为您提供的许多功能 - 但是大多数重新实现并不像真实的那样完成。请不要这么快就解雇TCP。
要开始,几乎所有关于Java和C#的网络教程都应该包括聊天或回声服务器,网络编程等同于“Hello World”。这对于简单的环境来说已经足够了。如果您打算让您的服务器同时处理数十个客户端,那将会更多工作,如果您打算将服务器扩展到数百或数千,那么它将完全是different style of programming。
答案 1 :(得分:0)
你有没有试过这个:
http://nickstips.wordpress.com/2010/09/03/c-creating-and-sending-udp-packets/
客户端无关紧要,可以是Java,C ++或任何其他语言/平台。无所谓。 协议仍然是相同的。
希望这有帮助。
答案 2 :(得分:0)
尝试使用Oracle Documentation作为UDP的起点,在那里你可以找到一个我在java中的例子,但正如所提到的,protocols的想法是支持语言无关的通信。