0

我必须在以下条件下为 2 个应用程序编写服务器客户端逻辑:

  • 一个应用程序只发送数据,另一个应用程序只接收这个数据
  • 两者都在 C++ 中
  • 接收数据的应用程序应该是多平台的,或者至少存在于 Mac、Linux 和 Windows 下
  • 我必须只交换数值或一组明确定义的结构,数据包具有致命的简单骨架结构

我希望有一个图书馆可以帮助我保持工作简单。

我想强调一个事实,即我必须只使用sys/socket.h与套接字编程相关的标头,而没有其他依赖项。

谢谢。

4

3 回答 3

1

首先,Berkeley 套接字接口确实不难使用,尽管按照现代标准它可能有点笨拙。但是,如果您真的想要一些更简单的东西,那么使用类似 的文本 I/O 怎么样netcat,完全避免进行套接字级编程并用简单的进程生成和管道替换它?或者让你的“非常简单”的协议成为一个 HTTP 事务,并在客户端上使用一个简单的 CGI 脚本和 curl/wget(或 libcurl)?

有许多简单的方法可以通过网络移动数据,而不涉及繁琐的 C API。选择哪一个取决于你想要做什么。

于 2012-09-06T22:46:49.603 回答
1

您的要求有点不一致,因为通常库是依赖项。

满足您其他要求的库:Boost.Asio,http ://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio.html和 ACE(自适应通信环境),http://www.cs。 wustl.edu/~schmidt/ACE.html

于 2012-09-06T22:31:47.660 回答
1

我个人更喜欢 poco 而不是 boost.asio:http ://pocoproject.org/但它仍然是依赖关系!

于 2012-09-06T23:04:26.087 回答