"socket.error: [Errno 98] Address already in use" in heterogeneous example on veins-lte

"socket.error: [Errno 98] Address already in use" in heterogeneous example on veins-lte

我正在尝试更改 veins-lte "heterogeneous" 示例中的应用程序类型,但我收到以下错误(在 SUMO 日志中):

"socket.error: [Errno 98] Address already in use"

我尝试在 SUMO 中使用不同的流量配置或使用不同的应用程序,但我总是遇到相同的错误。我能够 运行 这个例子,但它会在几秒钟后停止,而不会在 OMNeT++ 上显示任何错误。

这是我的 omnetpp.ini:

    [General]
cmdenv-express-mode = true
cmdenv-autoflush = true
cmdenv-status-frequency = 10000000s

#tkenv-default-config = debug
#tkenv-default-run = 1
sim-time-limit = 30s
tkenv-image-path = bitmaps
ned-path = .

network = scenario

##########################################################
#            Simulation parameters                       #
##########################################################
debug-on-errors = true
print-undisposed = false


**.scalar-recording = true
**.vector-recording = true

#record-eventlog = true


**.debug = false
**.coreDebug = false

*.playgroundSizeX = 20000m
*.playgroundSizeY = 20000m
*.playgroundSizeZ = 50m


##########################################################
# Annotation parameters                                  #
##########################################################
*.annotations.draw = false

##########################################################
# Obstacle parameters                                    #
##########################################################
*.obstacles.debug = false

##########################################################
#            WorldUtility parameters                     #
##########################################################
*.world.useTorus = false
*.world.use2D = false

##########################################################
#            TraCIScenarioManager parameters             #
##########################################################
*.manager.updateInterval = 0.1s
*.manager.host = "localhost"
*.manager.port = 9999
*.manager.moduleType = "org.car2x.veins.modules.heterogeneous.HeterogeneousCar"
*.manager.moduleName = "node"
*.manager.moduleDisplayString = ""
*.manager.autoShutdown = true
*.manager.margin = 25
*.manager.launchConfig = xmldoc("heterogeneous.launchd.xml")

##########################################################
#            11p specific parameters                     #
#                                                        #
#                    NIC-Settings                        #
##########################################################
*.connectionManager.pMax = 20mW
*.connectionManager.sat = -89dBm
*.connectionManager.alpha = 2.0
*.connectionManager.carrierFrequency = 5.890e9 Hz
*.connectionManager.sendDirect = true

*.**.nic80211p.mac1609_4.useServiceChannel = false

*.**.nic80211p.mac1609_4.txPower = 20mW
*.**.nic80211p.mac1609_4.bitrate = 18Mbps

*.**.nic80211p.phy80211p.sensitivity = -89dBm
*.**.nic80211p.phy80211p.maxTXPower = 10mW
*.**.nic80211p.phy80211p.useThermalNoise = true
*.**.nic80211p.phy80211p.thermalNoise = -110dBm
*.**.nic80211p.phy80211p.decider = xmldoc("config.xml")
*.**.nic80211p.phy80211p.analogueModels = xmldoc("config.xml")
*.**.nic80211p.phy80211p.usePropagationDelay = true


##########################################################
#                      Mobility                          #
##########################################################
*.node[*].veinsmobilityType = "org.car2x.veins.modules.mobility.traci.TraCIMobility"
*.node[*].mobilityType = "TraCIMobility"
*.node[*].mobilityType.debug = true
*.node[*].veinsmobilityType.debug = true
*.node[*].veinsmobility.x = 0
*.node[*].veinsmobility.y = 0
*.node[*].veinsmobility.z = 1.895
*.node[*0].veinsmobility.accidentCount = 0
*.node[*0].veinsmobility.accidentStart = 75s
*.node[*0].veinsmobility.accidentDuration = 30s

###########################
# LTE specific parameters #
###########################
**.node[*].masterId = 1
**.node[*].macCellId = 1
**.eNodeB1.macCellId = 1
**.eNodeB1.macNodeId = 1
**.eNodeBCount = 1
**.configurator.config = xmldoc("topology-config.xml")
#*.server.numUdpApps = 1
#*.server.udpApp[0].typename = "SimpleServerApp"
#*.server.udpApp[0].localPort = 4242

#============= Application Setup ============= 

##########################################################
#                    WaveAppLayer                        #
##########################################################
*.node[*].applType = "UDPVideoStreamCli"
*.node[*].appl.serverAddress = "server"         #
*.node[*].appl.localPort = 9999
*.node[*].appl.serverPort = 3088                #
*.node[*].appl.startTime = uniform(0s, 0.02s)
##########################################################
#                       RSU SETTINGS                     #
##########################################################
*.server.applType = "UDPVideoStreamSvr"
*.server.appl.videoSize = 10MiB
*.server.appl.localPort = 3088
*.server.appl.sendInterval = 20ms
*.server.appl.packetLen = ${packetLen = 1000B }

**.mtu = 10000B


##########################################################
#                    channel parameters                  #
##########################################################
**.channelControl.pMax = 10W
**.channelControl.alpha = 1.0
**.channelControl.carrierFrequency = 2100e+6Hz

################### RLC parameters #######################
#**.fragmentSize=75B
#**.timeout=50s
################### MAC parameters #######################
**.mac.queueSize = ${queue = 2MiB}
**.mac.maxBytesPerTti = ${maxBytesPerTti = 3MiB}
**.mac.macDelay.result-recording-modes = all
**.mac.macThroughput.result-recording-modes = all

# Schedulers
**.mac.schedulingDisciplineDl = ${scheduler = "MAXCI"} #MAXCI, DRR, PF
**.mac.schedulingDisciplineUl = ${scheduler}

################ PhyLayer parameters #####################
**.nic.phy.usePropagationDelay = true
**.nic.phy.channelModel=xmldoc("config_channel.xml")

################ Feedback parameters #####################
**.feedbackComputation = xmldoc("config_channel.xml")

# UEs
**.enableHandover = false

################# Deployer parameters #######################
# UEs attached to eNB
**.fbDelay = 1

# General
**.deployer.positionUpdateInterval = 0.1s
**.deployer.broadcastMessageInterval = 1s

# RUs
**.deployer.numRus = 0
**.deployer.ruRange = 50
**.deployer.ruTxPower = "50,50,50;"
**.deployer.ruStartingAngle = 0deg
**.deployer.antennaCws = "2;" # !!MACRO + RUS (numRus + 1)

# AMC
**.deployer.numRbDl = ${RB = 100}
**.deployer.numRbUl = ${RB}
**.deployer.rbyDl = 12
**.deployer.rbyUl = 12
**.deployer.rbxDl = 7
**.deployer.rbxUl = 7
**.deployer.rbPilotDl = 3
**.deployer.rbPilotUl = 0
**.deployer.signalDl = 1
**.deployer.signalUl = 1
**.deployer.numBands = 1
**.deployer.numPreferredBands = 1

############### AMC MODULE PARAMETERS ###############
**.rbAllocationType = "localized"
**.mac.amcMode = "AUTO"
**.feedbackType = "ALLBANDS"
**.feedbackGeneratorType = "IDEAL"
**.maxHarqRtx = 3
**.pfAlpha = 0.95
**.pfTmsAwareDL = false
**.numUe = ${numUEs=1000}

############### Transmission Power ##################
**.ueTxPower = 26
**.microTxPower = 20
**.eNodeBTxPower = 45

[Config nodebug]
description = "default settings"
**.debug = false
**.coreDebug = false
*.annotations.draw = false

[Config debug]
description = "(very slow!) draw and print additional debug information"
**.debug = true
**.coreDebug = true
*.annotations.draw = true

非常感谢任何帮助,我真的不知道如何解决...提前致谢!

I get the following error (in the SUMO log):

"socket.error: [Errno 98] Address already in use"

如果我没记错的话,这是来自Python的错误信息。这不是 OMNeT++ 错误,也不是 SUMO 会输出的错误消息。

我的猜测是您在尝试 运行 sumo-launchd.py 时收到错误消息,该脚本在 OMNeT++ 需要时启动 SUMO。

我认为有两个可能的原因:

  1. 您正在尝试 运行 两个 sumo-launchd.py 并行实例。这是没有必要的。只有一个实例 运行ning 就足够了。

  2. 一些其他程序正在使用相同的地址和端口(TCP 端口 9999)。与您是否有意 运行 宁此程序或 if it is malware, either shutting down the conflicting program or changing the sumo-launchd.py port number will help. See the sumo-launchd.py documentation 如何更改其端口号无关。