2016-01-05 313 views
1

我正在开发一个项目,该项目将包括一个服务器和一个客户端组件,它将通过TCP/IP发送/接收请求/信息。服务器组件将用C++开发,我将使用boost.asio库。客户端组件将是一个Excel插件,并将在Visual Basic中开发。我有几个一般问题,请注意,我并不期待任何具体的回应,但期望听到一些概念,以便我可以关注。C++服务器/客户端网络

我的问题如下。

  1. 服务器和客户端将用不同的语言开发,是否有什么可以担心两种开发语言之间的套接字通信?

  2. 我希望应用程序通过与LDAP系统集成来实现登录/认证机制。是否有任何可用于此目的的C++库? (如boost.asio用于TCP)

  3. 有没有可以表明,在C++

  4. 用户会话管理作为我的应用程序的一部分的任何概念,将有需要将数据从服务器传送到客户端或副反之亦然。这些数据有时可能会有几百到几千行,上百列。通过套接字传输这些数据的最佳方式是什么?数组是否适合这个?

我知道我的问题是非常高的水平,基本的,但你的答案将指向我的方向是正确的,并会帮助我专注于正确的概念。

在此先感谢。

回答

1
  1. 服务器和客户端会用不同的语言开发的,有什么可担心的两个发展中语言之间的socket通信?

不是真的,只要你有明确的线路格式。可以使用现有的HTTP/JSON,也可以自己定义。当界面稍微复杂时,可考虑使用CORBAICE之类的东西。

  • 我希望应用程序通过与LDAP系统集成有登录/认证机制。是否有任何可用于此目的的C++库? (像用于Boost.Asio的TCP)
  • 没有为OpenLDAP一个C++ API。我没有经验,所以在这里没有推荐或警告。

  • 有没有,你可以在C提示用户会话管理++
  • 这取决于你所需要的任何概念。最简单的方法是按年龄排列会话对象的共享指针向量,但当重新启动进程时,这些会话将全部失效。memcached中的会话在重启过程中存活。当你想要重新启动机器时,我更喜欢关系数据库或文件中的会话数据。

    1. 作为我的应用程序的一部分,将需要将数据从服务器传输到客户端,反之亦然。这些数据有时可能会有几百到几千行,上百列。通过套接字传输这些数据的最佳方式是什么?数组是否适合这个?

    您可以为每个对象使用简单的格式并简单地对对象进行流式处理。例如。 CSV或JSON。另外考虑一个二进制固定格式,当你的大部分信息不是文本时。当然,最好的取决于数据的类型。