在Redhawk中查找带有python组件的自由端口

时间:2015-01-02 20:24:50

标签: python eclipse redhawksdr

我目前正在开发一个项目,该项目要求我编辑一个配置文件,以便在使用该端口时替换旧的标准端口号。我目前使用的代码如下:

import os
import sys
import socket
import select
import tempfile
import subprocess
import threading
import Queue
import time
import fileinput

...

def find_open_port():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("",0))
s.listen(1)
tempport = s.getsocketname()[1]
s.close()
return tempport

当我从我的Ubuntu机器(Python 2.7.6)运行它时,运行正常,但在我的Redhawk组件中运行的CentOS 6 VM上,我得到以下结果:

AttributeError:' _socketobject'对象没有属性' getsocketname'

我不确定为什么会收到此错误。 Redhawk中的Python运行2.6我想说? 任何线索,为什么会发生这种情况以及如何解决?

1 个答案:

答案 0 :(得分:0)

您的代码调用方法getsockname,但您的错误显示getsock et 名称,您确定在将其写入Redhawk时将其复制了吗?