如何在 c++/c 中通过 socks 代理创建基本的 TCP 连接? [关闭]

Posted

技术标签:

【中文标题】如何在 c++/c 中通过 socks 代理创建基本的 TCP 连接? [关闭]【英文标题】:How to create a basic TCP connection via socks proxy in c++/c? [closed] 【发布时间】:2013-08-27 08:47:18 【问题描述】:

我正在寻找一个库来为 C/C++ 程序添加 socks 代理选项。 哪些库可用于 unix,实现此目的的最佳方法是什么?

解决方案应该:

被视为最佳实践(安全) 在具有短单线程连接的多线程程序中工作 易于实施/维护(如果可能) 为 unix (linux/debian/ubuntu) 工作

在网上找了很多资料,没有具体的,也不知道用什么,什么时候用。

【问题讨论】:

请原谅我的法语,已更正 可能是因为downvote按钮的悬停文本中提到的原因。 我真的进行了研究,但是即使对于知道如何操作的人来说,找到操作方法很简单也很容易,但我发现它很难,并认为它会很好ideea 在这里辩论它,以便搜索相同内容的人会找到一个清晰且最新的答案。 我很抱歉,但这类问题是题外话,虽然有些 older answers 涵盖了这个。 SOCKS 库不乏其人,协议本身也相当简单。 不知道这个,我有点理解它会提出自以为是的答案,对于像我这样的初学者来说,有办法发布这类问题以获得一些指导,而不仅仅是在网上找到一个随机的解决方案。 【参考方案1】:

我推荐:

libboost:http://www.boost.org/doc/libs/1_35_0/doc/html/boost_asio/reference/ip__tcp/socket.html Qt:http://qt-project.org/doc/qt-5.0/qtnetwork/examples-network.html

两者都是多平台和非常好的库,但 Qt 不仅仅是一个简单的库,所以考虑使用 libboost 来实现这个单一目的。

【讨论】:

这是一个非常简单的程序,它必须建立很多连接。不需要 gui,所以 libboost 听起来不错。 是的,所以使用 libboost:免费、开源、跨平台、稳定且值得信赖。如果您喜欢,请将我的回答标记为已接受 :) @DídacPérez:Qt 实际上只是 GUI 的一小部分,它是免费的、开源的、跨平台的、稳定的。不过,这里没有提到我仍然更喜欢 boost 的原因。 是的!我知道,实际上我每天都在使用 Qt,我没有告诉他使用 libboost 比使用 Qt 更好,也许他可以浏览并决定哪个是最佳选择。

以上是关于如何在 c++/c 中通过 socks 代理创建基本的 TCP 连接? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何链接 SOCKS 代理?

如何在C#中模拟基类属性或方法

不确定将代码放在程序中的啥位置。如何在 XCode 中通过触摸生成圆圈。 (目标-C)

如何让vmware虚拟机经过socks5代理?

如何在Windows中通过命令行创建快捷方式?

C/C++ 高效 sock 反向代理