非常简单的C ++ TCP Echo Server

时间:2010-12-06 19:29:57

标签: c++ sockets networking tcp berkeley-sockets

我是C ++网络编程的新手,但有Java套接字等经验。

我一直在尝试用C ++编写一个简单的TCP echo服务器,但实际上并没有取得任何进展。我已经尝试过查看http://cs.baylor.edu/~donahoo/practical/CSockets/practical/之类的代码但无法正常工作。

任何人都可以给我一些简单的 C ++代码来开始使用类似TCP echo服务器的东西吗?我真的不明白如何开始。

提前致谢。

3 个答案:

答案 0 :(得分:3)

术语“简单”和“C ++ TCP Echo Server”不属于同一个句子。没有这样的事情。

您正在查看的样本可能与您将要获得的“简单”接近(如果您想深入了解细节)。使用一个处理所有繁重工作的库可以使事情变得更容易(但教育程度更低)。我可能会查看Boost.Asio(以及示例Blocking TCP Echo Server示例)。

如果事情没有意义,你应该回过头来看看你的C ++网络编程,直到事情开始点击为止。

答案 1 :(得分:1)

我建议您查看boost framework - 它提供了JDK为java程序员提供的相同类型的“必不可少的实用程序类”。

有许多教程可用于boost的各个方面。 Here's one on getting started with the asynchronous i/o components

如果您想直接进入(非常简单的)服务器套接字示例here it is

祝你好运。

答案 2 :(得分:1)

要学习网络编程,我强烈建议您查看是否可以购买,乞讨,借阅或窃取(远离我的副本)Richard W Stevens book Unix网络编程 (请注意,在第一版之后,后续版本将拆分为卷,因此请确保获得适当的TCP / IP卷。)

我发现它是学习TCP编程的详细资源,主要是在Unix / POSIX系统上。如果是内存服务器,它有一些代码用于TCP回送客户端和用C编写的服务器,它用于一些示例。你可以在这里找到这本书的源代码 - 在tcpcliserv目录中挖掘Makefile和源代码:

http://www.kohala.com/start/unpv12e.html

编辑:我意识到它不是你要求的C ++版本,但如果我认为你的最终目标是学习网络编程,那么用C语言学习它应该是C ++的一个很好的基石....