我尝试在c ++中的跨平台项目wrriten中使用https://github.com/emscripten-ports/SDL2_net,但是当我尝试通过SDLNet_TCP_Open()打开TCP套接字时,函数返回错误“无法连接到远程主机”,但是服务器okey,台式机和移动客户端都可以正常工作。
首先,我通过emscripten将生成的.js和.html作为脚本在浏览器中以url C:/ [PATH TO generate.html] /作为本地测试,但我认为本地没有Permission((因为它在android中,有相同的错误,然后我在...工作)之后在清单请求中写了权限请求,但是当我将客户端上传到http服务器时,错误仍然存在。
有人有什么主意吗?
编辑。我尝试使用-s USE_SDL_NET = 2
笔记
SDL_net也已添加到端口,请与-s USE_SDL_NET = 2一起使用。要查看所有可用端口的列表,请运行emcc --show-ports。
来自https://kripken.github.io/emscripten-site/docs/compiling/Building-Projects.html
但我得到了错误:
WARNING:root:Assigning a non-existent settings attribute "USE_SDL_NET"
WARNING:root: - did you mean one of USE_SDL_TTF, USE_SDL, USE_SDL_IMAGE?
WARNING:root: - perhaps a typo in emcc's -s X=Y notation?
WARNING:root: - (see src/settings.js for valid values)
emcc --show-ports,返回:
Available ports:
zlib (USE_ZLIB=1; zlib license)
libpng (USE_LIBPNG=1; zlib license)
SDL2 (USE_SDL=2; zlib license)
SDL2_image (USE_SDL_IMAGE=2; zlib license)
ogg (USE_OGG=1; zlib license)
vorbis (USE_VORBIS=1; zlib license)
bullet (USE_BULLET=1; zlib license)
freetype (USE_FREETYPE=1; freetype license)
SDL2_ttf (USE_SDL_TTF=2; zlib license)
编辑2。
我从https://github.com/jbaicoianu/emscripten/tree/c46b429ede3f5e015fe3e460867e225c3e45ae95下载
embuilder.py,sdl-net.py,__ init__py并接下来注入我的脚本,构建过程已成功完成而没有上述问题。但是主要问题仍然存在...我收到“无法连接到远程主机”错误。
干杯,卢克
浏览器无法启动普通的旧TCP。它使用websockets,这基本上只是一次握手。一切正常后,他们将连接升级到普通的旧TCP。
使用tcp- > websocket网关,例如websockify
编辑:我对普通的旧tcp是错误的,websocket是基于TCP的不同协议,但是websockify可以转换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句