在 C++ 中测试套接字库的线程应用程序示例

Posted

技术标签:

【中文标题】在 C++ 中测试套接字库的线程应用程序示例【英文标题】:Examples of threaded applications to test a socket library in C++ 【发布时间】:2014-03-13 19:37:14 【问题描述】:

我获得了一个学校项目的开放式项目规范,我需要创建一个套接字库和两个独特的线程应用程序来测试它在 C++ 中的使用。

现在我们正处于学习套接字的早期阶段,所以理想情况下,我只想为我可以制作的独特且适度简单的应用程序产生一些想法,以在 Microsoft 环境中演示自定义套接字库。我已经对套接字和网络理论进行了相当多的回读。

项目规格如下:

为 Win32/64 创建一个套接字库。该库应实现以下功能:

隐藏和管理套接字句柄 尽可能多的填写函数参数 自动清理 自动 WSAStarup/清理

申请要求:

客户 服务器 应用线程化

在这个阶段,我不知道库会是什么样子,也不知道它将如何与应用交互。

【问题讨论】:

【参考方案1】:

您可以从Windows Sockets 2 和Getting Started with Winsock 开始。另外,请查看Winsock tutorial – Socket programming in C on windows 之类的教程。

【讨论】:

不是我想要的。我已经阅读了套接字编程的基础知识。我正在寻找应用创意来展示这些知识,然后我可以查看这些创意。【参考方案2】:

我最终构建了一个简单的 ftp 服务器,并且还考虑了一个聊天应用程序。这两个应用程序足以满足我的目的。

【讨论】:

以上是关于在 C++ 中测试套接字库的线程应用程序示例的主要内容,如果未能解决你的问题,请参考以下文章

mfc线程里面调用的套接字库会不会随着线程结束而自动释放?

包含互斥锁 C++ 时的套接字问题

是否有一个 TCP 套接字库/协议可以进行消息框架并在 JS 和 C# 中受支持?

在 linux 终端上使用 c++ 编译示例 opengl 应用程序

在套接字库中调用 recv 时,我的 recv 缓冲区应该有多大

在多线程 HTTP 服务器中发送后,如何干净地关闭套接字?