我正在编写一个简单的程序,通过网络侦听传入的tcp / udp数据包并从中检索数据。我还需要解析数据包标题以获取序列号等。我正在运行windows7和VC ++ 2010。
显然我需要一个数据包生成器,我想使用环回地址,所以发送器和接收器在同一台机器上。
由于我是c ++网络编程的初学者,我需要一些帮助来弄清楚如何继续。
我应该构建自己的tcp / udp生成器吗?如果是的话,我必须使用RAW套接字或更高级别的api就足够了(获取ip头的可能性)。如果不是,应该使用哪个发电机?
我应该为接收器使用什么技术?我正在看boost :: asio和winsock2.h。但由于我没有那么多时间去发现它们,有人可以告诉我应该怎么做。
谢谢你的帮助。
最好的问候。
答案 0 :(得分:1)
如果您正在使用winsock,那么您根本不必担心解析IP标头。 Winsock(真的是OS)为你做了这一切。没有必要使用原始套接字(我已经完成了20多年的网络编程,并且从未需要使用原始套接字!)。
因此,对于客户来说,您需要的功能是socket
/ connect
/ send
/ recv
。对于服务器,socket
/ bind
/ listen
/ accept
/ recv
/ send
。