最近在上分布式的课,由于打开orbd服务需要监听900端口,而在linux下打开低于1024的端口都是需要superuser的权限的,同时也必需在相应的配置文件(/etc/services)打开端口。一开始我总是不能打开orbd服务,报了一堆异常,要么就是Permission Denied,要么就是Address already in use,前一个是因为我没有用root用户开启,后一个就比较莫名其妙了。google上关于这方面的资料比较少,最后还是解决了,我的解决方案有下面两种
1、不使用默认的900端口,而自定义一个新的端口,使用参数-ORBInitialPort来启动服务,即[code]sudo orbd -ORBInitialPort 1999[/code]
同时Client和Server端都采用相同的参数和端口号来启动服务,因为ORB.init(args,property)有这样的构造函数,这样就可以了
2、打开900端口,编辑/etc/services,最后添加如下ORBD 900/tcp,重启就OK了
1、不使用默认的900端口,而自定义一个新的端口,使用参数-ORBInitialPort来启动服务,即[code]sudo orbd -ORBInitialPort 1999[/code]
同时Client和Server端都采用相同的参数和端口号来启动服务,因为ORB.init(args,property)有这样的构造函数,这样就可以了
2、打开900端口,编辑/etc/services,最后添加如下ORBD 900/tcp,重启就OK了