处理tcp / udp接收的最佳方法。

时间:2012-12-12 23:44:40

标签: c++ sockets boost tcp udp

我正在编写一个简单的程序,通过网络侦听传入的tcp / udp数据包并从中检索数据。我还需要解析数据包标题以获取序列号等。我正在运行windows7和VC ++ 2010。

显然我需要一个数据包生成器,我想使用环回地址,所以发送器和接收器在同一台机器上。

由于我是c ++网络编程的初学者,我需要一些帮助来弄清楚如何继续。

我应该构建自己的tcp / udp生成器吗?如果是的话,我必须使用RAW套接字或更高级别的api就足够了(获取ip头的可能性)。如果不是,应该使用哪个发电机?

我应该为接收器使用什么技术?我正在看boost :: asio和winsock2.h。但由于我没有那么多时间去发现它们,有人可以告诉我应该怎么做。

谢谢你的帮助。

最好的问候。

1 个答案:

答案 0 :(得分:1)

如果您正在使用winsock,那么您根本不必担心解析IP标头。 Winsock(真的是OS)为你做了这一切。没有必要使用原始套接字(我已经完成了20多年的网络编程,并且从未需要使用原始套接字!)。

因此,对于客户来说,您需要的功能是socket / connect / send / recv。对于服务器,socket / bind / listen / accept / recv / send