ririyeye
ririyeye
xmk.sh 第五行那个 `export XMAKE_GLOBALDIR=$(pwd)/cache` 改成第六行了么 `export XMAKE_GLOBALDIR=cache` 打包的时候没注意 第六行那个才是我这边出问题的
我对比了下 上面这个是正常的 对应xmk.sh第五行的 下面这个异常的 对应第六号 , 异常的那个目录长很多 ``` -- Install configuration: "Release" -- Installing: /home/wangyang/wine-bk/cache/.xmake/packages/l/local_libusb/1.0.26/c40c4a48e4cd4e289f3950505c1998f7/lib/libusb-1.0.a -- Installing: /home/wangyang/wine-bk/cache/.xmake/packages/l/local_libusb/1.0.26/c40c4a48e4cd4e289f3950505c1998f7/include/libusb-1.0/libusb.h ``` ``` Install the project... -- Install configuration: "Release" -- Installing: /home/wangyang/wine/cache/.xmake/cache/packages/2312/l/local_libusb/1.0.26/source/build_c40c4a48/cache/.xmake/packages/l/local_libusb/1.0.26/c40c4a48e4cd4e289f3950505c1998f7/lib/libusb-1.0.a...
``` /usr/bin/cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DLIBUSB_ENABLE_UDEV=OFF -DCMAKE_INSTALL_PREFIX=cache/.xmake/packages/l/local_libusb/1.0.26/c40c4a48e4cd4e289f3950505c1998f7 -DCMAKE_INSTALL_LIBDIR:PATH=lib -G "Unix Makefiles" -DCMAKE_POSITION_INDEPENDENT_CODE=ON /home/wangyang/wine/cache/.xmake/cache/packages/2312/l/local_libusb/1.0.26/source /usr/bin/cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DLIBUSB_ENABLE_UDEV=OFF -DCMAKE_INSTALL_PREFIX=/home/wangyang/wine-bk/cache/.xmake/packages/l/local_libusb/1.0.26/c40c4a48e4cd4e289f3950505c1998f7 -DCMAKE_INSTALL_LIBDIR:PATH=lib -G "Unix Makefiles" -DCMAKE_POSITION_INDEPENDENT_CODE=ON /home/wangyang/wine-bk/cache/.xmake/cache/packages/2312/l/local_libusb/1.0.26/source ``` 上面这个是两种的cmake传参 不一样的应该是下面这个 `CMAKE_INSTALL_PREFIX` ``` -DCMAKE_INSTALL_PREFIX=cache/.xmake/packages/l/local_libusb/1.0.26/c40c4a48e4cd4e289f3950505c1998f7 -DCMAKE_INSTALL_PREFIX=/home/wangyang/wine-bk/cache/.xmake/packages/l/local_libusb/1.0.26/c40c4a48e4cd4e289f3950505c1998f7...
正在施工[openssl-dtls](https://github.com/ririyeye/libhv/tree/openssl-dtls)
> 我看了下openssl-dtls的实现的部分代码,感觉这种不太行呀,至少不能跨平台,只能linux上用。感觉应该每个client来了,server端要创建一个ssl,然后关键是管理这些ssl的生命周期不太好弄。 跨平台会出什么问题 每个ssl每个连接就应该是独立的 client来了 不应该创建server 么 生命周期确实有问题 没想好怎么搞 ,现在就跟这原来udp的逻辑去了 然后加了dtls远程关闭 其实应该加定时的啥的
> > > 我看了下openssl-dtls的实现的部分代码,感觉这种不太行呀,至少不能跨平台,只能linux上用。感觉应该每个client来了,server端要创建一个ssl,然后关键是管理这些ssl的生命周期不太好弄。 > > > > > > 跨平台会出什么问题 每个ssl每个连接就应该是独立的 client来了 不应该创建server 么 生命周期确实有问题 没想好怎么搞 ,现在就跟这原来udp的逻辑去了 然后加了dtls远程关闭 其实应该加定时的啥的 > > 1 我看实现是每个client来了,server就创建一个socket然后bind,这种windows,macos应该不支持,因为他们不支持多个udpsocket绑定同一个端口。 2 dtls的ssl的管理不应该libhv库的内部通过定时器判定是否需要close,因为普通udp server可能是通过应用层保存peer地址,然后由用户判断什么时候应该关闭。所以dtls应该也一样,ssl的管理应该交予用户。但是这样就会比较麻烦了。 不行的话只能完全用mem_bio了 这个就是比较难看 数据互转...
是不是用portmapper库合适 这个upnp调用的upnp-igd , NAT-PMP, PCP手搓的