说起rtmp协议,相信大家并不陌生,因为现在的直播大多都使用这个协议,但是rtmp协议的设计交互比较繁琐,网上很多资料和文档,看起来比较吃力,如果想自己写一个RTMP服务器,感觉无从下手,无奈只能抓包来分析已经成熟的服务器的包。我们首去找一个开放的RTMP播放地址比如(rtmp://58.200.131.2:1935/livetv/hunantv)这个,然后用wireshark打开抓包,再用VLC播放一下这个址,再过滤一下抓包得到如下数据:
可以看出来,VLC向服务器发了一个03开头的握手请求,而这也是向服务器发出的第一组数据,这个数据长度为1537个字节,也就是发送C0+C1,
而服务器则回他C2部分,
VLC再回服务器C2部分。
那么现在我们就可以来写出这三步,打开VS写一个SOCKET服务端监控一个端口,然后用VLC来请求我们自己写的服务器,
我们可以看到VLC发来了抓包里面的C0+C1数据块,03开头的一共1537字节,
然后我们回他C2数据块,