2 回答
TA贡献1810条经验 获得超5个赞
听起来我对端口的了解不足。ROSBridge 的主机被设置为使用端口 9090,因此任何希望连接到它的人都将请求主机的端口 9090 进行连接,但仍会使用它自己想要的任何端口。在这两个应用程序中,我可以声明“主机”端口是 9090 没有冲突,因为客户端应用程序仍然会打开一个随机的其他端口供自己使用以连接到主机端口。因此,我遇到的麻烦不是“端口共享”,因为这不是正在发生的事情。只有一个托管在 9090 上。
TA贡献2016条经验 获得超9个赞
根据http://wiki.ros.org/rosbridge_suite/Tutorials/RunningRosbridge,您可以在.launch
文件中设置 Rosbridge 谈话的端口。
如果您使用的是示例rosbridge_websocket.launch
文件,该文件的第二行包含一个 . 格式的端口号<arg name="port" default="9090" />
。您可以更改9090
以更改它使用的默认端口。
根据http://wiki.ros.org/roslaunch/Commandline%20Toolsroslaunch
上的文档,您还可以在命令行上传递参数:roslaunch
该rosbridge_websocket.launch
文件从参数“port”设置端口,因此如果您像这样运行 roslaunch,它将使用端口 8080:
roslaunch rosbridge_server rosbridge_websocket.launch port:=8080
您可以在https://github.com/RobotWebTools/rosbridge_suite/blob/develop/rosbridge_server/launch/rosbridge_websocket.launch看到完整的 rosbridge_websocket.launch 文件
查看该文件的行<param name="port" value="$(arg port)"/>
是我如何知道它使用“端口”参数来设置端口。
如果您发布.launch
文件,如果此答案不清楚,我可以就如何编辑它们提供更多建议。
- 2 回答
- 0 关注
- 256 浏览
添加回答
举报