我是 C++ 网络编程的新手,但有 Java 套接字等方面的经验。
我一直在尝试用 C++ 编写一个简单的 TCP 回显服务器,但无法真正取得任何进展。我尝试查看一些代码,例如http://cs.baylor.edu/~donahoo/practical/CSockets/practical/,但无法正常工作。
任何人都可以给我一些简单的C++ 代码来开始使用 TCP 回显服务器之类的东西吗?我什至不明白如何开始。
提前致谢。
我是 C++ 网络编程的新手,但有 Java 套接字等方面的经验。
我一直在尝试用 C++ 编写一个简单的 TCP 回显服务器,但无法真正取得任何进展。我尝试查看一些代码,例如http://cs.baylor.edu/~donahoo/practical/CSockets/practical/,但无法正常工作。
任何人都可以给我一些简单的C++ 代码来开始使用 TCP 回显服务器之类的东西吗?我什至不明白如何开始。
提前致谢。
术语“simple”和“C++ TCP Echo Server”不属于同一个句子。哪有这回事。
您正在查看的示例可能与您将要获得的“简单”一样接近(如果您想深入了解细节)。使用一个为您处理所有繁重工作的库会使事情变得更容易(但教育意义要小得多)。我可能会查看Boost.Asio(以及Blocking TCP Echo Server示例)。
如果事情没有意义,你可能应该回去复习你的 C++ 网络编程,直到你到达事情开始点击的地步。
我建议您研究一下boost 框架——它提供了与 JDK 为 Java 程序员提供的相同类型的“必不可少的实用程序类”。
有许多教程可用于 boost 的各个方面。 这是开始使用异步 i/o 组件的内容。
如果您想直接跳到(非常简单的)服务器套接字示例,这里是.
要学习网络编程,我强烈建议你看看是否可以购买、乞求、借用或窃取(远离我的副本)Richard W Stevens 的书 Unix Network Programming(请注意,在第一版之后,后续版本是拆分为多个卷,因此请确保您获得正确的 TCP/IP 卷)。
我发现它是学习 TCP 编程的详细资源,主要用于 Unix/POSIX 系统。如果是内存服务器,它有一些用于 TCP 回显客户端和用 C 语言编写的服务器的代码,用于一些示例。你可以在这里找到本书的源代码——在tcpcliserv
目录中挖掘 Makefile 和源代码:
http://www.kohala.com/start/unpv12e.html
编辑:我意识到它不是您要求的 C++ 版本,但如果我是正确的,您的最终目标是学习网络编程,那么在 C 中学习它应该是 C++ 的一个很好的垫脚石......
乙