我有一个在C++中开发的小项目,由于它所做的事情的特殊性质,我需要将数据包插入到实时TCP流中。(目的是无辜的,如果你非得知道可以查看这里:http://ee.forumify.com/viewtopic.php?id=3299)
我正在为游戏创建一个级别编辑器,由于握手的特性,我不能简单地使用高级库(如WinSock)建立新连接。到目前为止,它一直依赖于Winsock Packet Editor 来处理这些问题,但如果我让应用程序处理所有事情,那么每个人都会很高兴。
所以我的问题是:是否有API可以让我控制实时TCP流,并最好在完成后保持其有效性?我希望不需要注入任何DLL。同时,由于我使用GCC/Mingw,Detours不能使用。
我已经尝试了WinPCap,并编写了一些工作代码(我可以收集数据包,并从中生成适当的数据包进行发送),但由于它在如此低的层次上操作,我无法预见用户可能使用的所有潜在协议。是的,他们可能仍然在使用以太网上的IPv4,但那些仍然使用PPP或其他模糊协议的人怎么办?此外,客户端应用程序在我的应用程序完成后会断开连接,因为数据包中的最新ID值已更改,客户端认为它已断开连接。
因此,如果有人能够提供高级TCP流操作器,我将非常高兴。如果没有,我将继续尝试WinPCap,并告诉所有拨号用户去获得更好的互联网连接。
目标平台:Microsoft Windows XP至Windows 7。
所以我的问题是:是否有API可以让我控制实时TCP流,并最好在完成后保持其有效性?我希望不需要注入任何DLL。同时,由于我使用GCC/Mingw,Detours不能使用。
我已经尝试了WinPCap,并编写了一些工作代码(我可以收集数据包,并从中生成适当的数据包进行发送),但由于它在如此低的层次上操作,我无法预见用户可能使用的所有潜在协议。是的,他们可能仍然在使用以太网上的IPv4,但那些仍然使用PPP或其他模糊协议的人怎么办?此外,客户端应用程序在我的应用程序完成后会断开连接,因为数据包中的最新ID值已更改,客户端认为它已断开连接。
因此,如果有人能够提供高级TCP流操作器,我将非常高兴。如果没有,我将继续尝试WinPCap,并告诉所有拨号用户去获得更好的互联网连接。
目标平台:Microsoft Windows XP至Windows 7。