libIEC61850交流QQ群:610793899
libiec61850中goose通信流程测试的几个注意事项(在Ubuntu中实测):
1.在同一个系统中测试goose publisher和subscriber通信时,只能选择loopback端口,不能选择其他端口,默认端口eth0也不行;
2.在windows中goose publisher启动参数和Linux系统中是不同的,Linux系统中参数是接口名称,而在windows中是网络适配器的索引值,所以应该是个整数;
3.对于不确认的发包、收包问题,首先应使用wireshark抓包确认,然后再分析。
以下进入正文:
因为在windows上,默认不支持对于raw socket的支持,需要安装winpcap工具。
官方在根目录下的README.md文件中给出了粗略的步骤说明:
winpcap设置步骤如下:
1.下载、安装winpcap(下载地址:http://www.winpcap.org),并确保winpcap驱动在启动时加载(安装完之后选择该选项);
2.重启PC;
3.下载winpcap开发包(下载地址:http://www.winpcap.org/install/bin/WpdPack_4_1_2.zip);
4.解压winpcap开发包,将解压后文件夹中的Lib和Include目录拷贝到libiec61850的third_party/winpcap目录下。
windows下Makefile文件的生成步骤(需要安装cmake工具,该工具根据CMakefile.list生成依赖系统的Makefile文件):
如果使用32位VS 2015:
> cmake -G "Visual Studio 14 2015" .
如果使用64位VS 2015:
> cmake -G "Visual Studio 14 2015 Win64"
如果使用mingw编译器:
> cmake -G "MinGW Makefiles"
经过上述步骤后,就会在libiec61850的根目录下生成依赖所在系统和编译工具链的Makefile文件。
在libiec61850的根目录下:
> make
生成对应的lib库,libiec61850.a在src目录下。
进入examples/goose_publisher:
> make
生成对应的goose_publisher_example可执行程序。
> goose_publisher_example 0 ## 或者其他的网卡索引值