C ++服务器/客户端网络

时间:2016-01-05 12:53:55

标签: c++ sockets boost tcp ldap

我正在开发一个包含服务器和客户端组件的项目,该组件将通过TCP / IP发送/接收请求/信息。服务器组件将使用c ++开发,我将使用boost.asio库。客户端组件将是一个excel加载项,将在visual basic中开发。我几乎没有一般性的问题,请注意我在这里并没有期待任何具体的回应,但希望听到一些概念,以便我可以集中精力。

我的问题如下。

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

  2. 我希望应用程序通过与LDAP系统集成来拥有登录/身份验证机制。有没有可以用于此目的的c ++库? (如TCP的boost.asio

  3. 您是否有任何可以在c ++中建议用户会话管理的概念

  4. 作为我的应用程序的一部分,需要将数据从服务器传输到客户端,反之亦然。这个数据有时可能像数百到数千行,有数百列。通过套接字传输此类数据的最佳方法是什么?阵列对此有好处吗?

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

    提前致谢。

1 个答案:

答案 0 :(得分:1)

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

不是,只要您有明确定义的电线格式。要么使用现有的,如HTTP / JSON,要么自己定义。当界面稍微复杂时,请考虑使用CORBAICE之类的内容。

  
      
  1. 我希望应用程序通过与LDAP系统集成来拥有登录/身份验证机制。有没有可以用于此目的的c ++库? (比如针对TCP的boost.asio)
  2.   

OpenLDAP有一个C ++ API。我没有经验,所以这里没有推荐或警告。

  
      
  1. 是否有任何可以在c ++中建议用户会话管理的概念
  2.   

这取决于你需要什么。最简单的方法是按年龄排序的会话对象的共享指针向量,但是当重新启动进程时,这些会话都将无效。 memcached中的会话在重新启动过程后仍然存在。如果您希望在重新启动计算机后继续存在,我更喜欢关系数据库或文件中的会话数据。

  
      
  1. 作为我的应用程序的一部分,需要将数据从服务器传输到客户端,反之亦然。这个数据有时可能像数百到数千行,有数百列。通过套接字传输此类数据的最佳方法是什么?阵列对此有好处吗?
  2.   

您可以为每个对象使用简单格式,并简单地流式传输对象。例如。 CSV或JSON。当大多数信息不是文本时,也要考虑二进制固定格式。当然,最好的是什么取决于数据的类型。