github - p2psteam配置开发

1.环境配置


  [1]安装epel源,并且更新repo

    yum install epel-release

    yum clean all

    yum makecache

    yum update

  [2]安装python

    yum install python

    yum install python-pip

    pip install –upgrade pip

  [3]安装vlc库

    rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

    yum install vlc*

    yum install vlc-devel

  [4]配置SFML库

    从https://www.sfml-dev.org/download/sfml/2.1/下载【GCC - 64-bit】的文件,里面有lib和include目录:

      cp SFML-2.5.1/lib/* /lib64

      cp SFML-2.5.1/include/SFML /usr/include -r

  [5]安装glew库

    yum install libglew-dev glew-utils

    如果编译时找不到libGLEW.so.1.5,创建一个软链接即可:ln -s libGLEW.so.1.7.0 libGLEW.so.1.5

2.程序部署运行


  项目地址:https://github.com/xy-0x01/p2pstream

  程序共有4个模块:

    [1]centralServer是一个服务器,客户端向这个服务器请求peer列表。

    [2]server是一个有数据的peer。

    [3]client是一个没有数据的peer。

    [4]videoplayer里面创建播放器,播放下载下来的数据。

  测试流程:

    整个流程就是,server目录下存在一个影片 hx.mp4,然后client向centralServer获取这个peer的地址,然后向这个peer下载数据,下载完成之后打开player进行播放。

    另外注意的是player.cpp里面,main()函数首先sleep(8);这个8秒就是在等待下载数据,下载完了才能播放。

    可以在一个设备上面测试,开三个窗口就可以,因为要打开播放器,所以centos需要有界面。

    [1]启动centralServer:./central.exe 192.168.0.254 30000

    [2]启动server:       ./server.exe 192.168.0.254 2050  //这个端口必须时2050,因为程序已经写死。

    [3]启动client:     ./client.exe 192.168.0.254 30000  //该文件存在一个bug,返回的peer地址不对,直接把ips填上本机地址就行,其实centralServer并没有什么用。还一个bug,execl函数最后少一个参数NULL。

  测试效果:

    centralServer:

      

     server:

      

    client:

      

    之后会自动打开播放器进行播放:

      

 

posted on 2020-04-16 11:21  能量星星  阅读(478)  评论(0编辑  收藏  举报

导航