gpt4 book ai didi

java - 如何实现良好的客户端-服务器方法?

转载 作者:行者123 更新时间:2023-11-30 02:06:03 26 4
gpt4 key购买 nike

我正在开发分布式应用程序,我需要将基于 Java 的客户端连接到基于 C++ 的服务器。他们都需要互相发送信息,但我需要他们能够在等待信息的同时做一些事情,他们不知道什么时候会得到新的信息,或者发送信息。

我怎样才能做到这一点?现在我正在尝试实现与套接字的基本通信,但我并没有真正与它们进行通信。我读过,使用套接字 + 线程通常是客户端-服务器应用程序的好方法。

你能给我推荐一些网站或书籍来阅读这方面的内容,或者给我一些示例代码来学习吗?

你认为我应该使用比套接字更好的其他方法吗?也许是更高级别的库(我需要它用于 C++ 和 Java)或完全不同的方式?

编辑:

我会添加一些额外的信息。

我希望实现的目标如下:

我的 C++ 程序有一个主循环,我想在其中调用类似 GetUpdatedDataFromRemoteDevice() 的调用,我在其中读取之前从网络(套接字)更新的一些数值变量的新值,例如)。

最终,C++程序需要向远程设备发送消息,告诉他发送其他类型的数据,然后不断获取更新的值。

从 Java 程序(远程设备)运行的应用程序是一个交互式触摸屏,它不能被网络传输阻塞,因为它必须为用户持续工作,所以所有的网络应该在一个单独的线程中完成。

那个线程,应该连接到服务器,当一个按钮被按下时,开始循环发送数据(4 个变化的数值)直到另一个事件发生。

如果能够轻松地重新连接到服务器也很好。

最佳答案

ICE是用于分布式应用程序的现代且优秀的库:

  • C++ 和 Java 等多种语言
  • 许多平台
  • GNU GPL
  • 表现良好
  • 易于使用

首先,您定义要在服务器和客户端之间交换的消息。
然后,您实现 C++ 和 Java 源代码来处理这些消息。

更多信息请访问 http://zeroc.com/ice.html
玩得开心;-)

编辑:我必须使用 ACE在一些项目中。我可以看出 ACE 很老,也许很成熟,但使用了过时的 C++ 编码规则:-(因此 ACE 不如 STLBOOST 好用。此外,ACE 并不是很有效……我更喜欢 ICE ;-)

关于java - 如何实现良好的客户端-服务器方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9152896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com