Please try the following minimal version. It only assumes that SUMO_HOME
has been defined and 'sumo-gui' is on the path.
Am Fr., 21. Dez. 2018 um 09:06 Uhr schrieb <[email protected]>:
> man, still not working. I did it as you said, nothing, still the same
> loading thing at starting server. I also did it in like two clean scripts.
>
> maybe in my cfg?
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <configuration>
> <traci_server>
> <remote-port value="8813" />
> <num-clients value="2" />
> </traci_server>
> <input>
> <net-file value="XYZ.net.xml"/>
> <additional-files value="XYZ_new_vehicles.xml, XYZ_rou.add.xml"/>
> <gui-settings-file value="settings.xml"/>
> <start value="true"/>
> </input>
> <time>
> <begin>21600</begin>
> <end>28800</end>
> <step-length>0.01</step-length>
> </time>
> <processing>
> <step-method.ballistic>true</step-method.ballistic>
> </processing>
>
> <report>
> <no-warnings>true</no-warnings>
> </report>
>
> </configuration>
>
>
> i don't know what to do more.
>
> Thanks and greetings
>
>
>
>
> *Gesendet:* Donnerstag, 20. Dezember 2018 um 16:18 Uhr
> *Von:* "Benedikt Schott" <[email protected]>
> *An:* "'Sumo project User discussions'" <[email protected]>
> *Betreff:* Re: [sumo-user] two clients, one SUMO connection (python -
> TraCI)
>
> As far as I know traci.simulationStep calls simulationStep on your first
> connection created via traci.start, you need to also call
> conn2.simulationStep. Instead of calling traci.simulationStep you can get
> the its connection of the first client via traci.getConnection, see e.g.
>
>
>
> traci.start(sumoCmd, port=8813, label="sim1")
>
> conn1 = traci.getConnection("sim1")
>
> conn1.setOrder(1)
>
>
>
> The following snippets should work:
>
>
>
> ---------------
>
> Client 1:
>
> ---------------
>
>
>
> sumoBinary =
> "C:\\Projekte\\Sumo_Eclipse\\Releases\\sumo-win64-1.1.0\\sumo-1.1.0\\bin\\sumo-gui"
>
> sumoCmd = [sumoBinary, "-c", cfg]
>
>
>
> traci.start(sumoCmd, port=8813, label="sim1")
>
> conn1 = traci.getConnection("sim1")
>
> conn1.setOrder(1)
>
>
>
> step = 0
>
> while step < 1000:
>
> conn1.simulationStep()
>
> step += 1
>
>
>
> conn1.close()
>
>
>
> ---------------
>
> Client 2:
>
> ---------------
>
> traci.init(port=8813, label="sim2")
>
> conn2 = traci.getConnection("sim2")
>
> conn2.setOrder(2)
>
>
>
> step = 0
>
> while step < 1000:
>
> conn2.simulationStep()
>
> step += 1
>
>
>
> conn2.close()
>
>
>
>
>
> *Von:* [email protected] [mailto:[email protected]]
> *Im Auftrag von *[email protected]
> *Gesendet:* Donnerstag, 20. Dezember 2018 15:37
> *An:* [email protected]
> *Betreff:* Re: [sumo-user] two clients, one SUMO connection (python -
> TraCI)
>
>
>
> okey, still not working, here are my to client-snippets:
>
>
>
> client1:
>
>
>
> # default port
>
> PORT = 8813
>
>
>
> client2 = Com()
>
>
>
> class runner:
>
>
>
> port = getFreeSocketPort()
>
> # if getFreeSocketPort returns None, initialize with default value
>
> if not port:
>
> port = PORT
>
> sumoBinary = "sumo-gui.exe"
>
>
>
> # starting sumo
>
> traci.start(cmd=[sumoBinary, "-c", "pathToConfig\\SUMO\\config.sumo.cfg",
> "--num-clients", "2"], port=8813)
>
> # establishing client order
>
> traci.setOrder(1)
>
>
>
> client2:
>
>
>
> # default port
>
> PORT = 8813
>
>
>
> class Com:
>
>
>
> def traci_client2(self):
>
>
>
> port = getFreeSocketPort()
>
> # if getFreeSocketPort returns None, initialize with default value
>
> if not port:
>
> port = PORT
>
>
>
> traci.init(port=8813, label="sim2")
>
> conn2 = traci.getConnection("sim2")
>
> conn2.setOrder(2)
>
>
>
> while traci.simulation.getMinExpectedNumber() > 0:
>
>
>
> traci.simulationStep()
>
> so, as far as i understand, it stucks while it loads because sumo is
> waiting for client2?
>
>
>
> Maybe you can see anything in my code.
>
>
>
> Thanks and greetings
>
>
>
> *Gesendet:* Donnerstag, 20. Dezember 2018 um 15:13 Uhr
> *Von:* "Benedikt Schott" <[email protected]>
> *An:* "'Sumo project User discussions'" <[email protected]>
> *Betreff:* Re: [sumo-user] two clients, one SUMO connection (python -
> TraCI)
>
> When the sumo gui has been started, it is waiting for the second client to
> connect. Note that you have to call setOrder for all clients and to call
> simulationStep for each client to proceed with the simulation
>
>
>
> e.g. for the second client:
>
>
>
> traci.init(port=xxxx, label="sim2")
>
> conn2 = traci.getConnection("sim2")
>
> conn2.setOrder(2)
>
>
>
> step = 0
>
> while step < 1000:
>
> conn2.simulationStep()
>
> step += 1
>
>
>
> conn2.close()
>
>
>
> *Von:* [email protected] [mailto:[email protected]]
> *Im Auftrag von *[email protected]
> *Gesendet:* Donnerstag, 20. Dezember 2018 14:22
> *An:* [email protected]
> *Betreff:* Re: [sumo-user] two clients, one SUMO connection (python -
> TraCI)
>
>
>
> thanks for the information Jakob!
>
>
>
> So I implemented it, but when I start my runner script, it opens my
> sumo-gui as usually, but it's only displaying "starting server on port
> xxxx" and nothing happens, just loading. When I'm changing the
> --num-clients in the traci.start to "1" it starts normally.
>
>
>
> Any ideas?
>
>
>
> Greetings
>
>
>
> *Gesendet:* Donnerstag, 20. Dezember 2018 um 11:31 Uhr
> *Von:* "Jakob Erdmann" <[email protected]>
> *An:* "Sumo project User discussions" <[email protected]>
> *Betreff:* Re: [sumo-user] two clients, one SUMO connection (python -
> TraCI)
>
> see
> http://sumo.dlr.de/wiki/TraCI/Interfacing_TraCI_from_Python#Controlling_the_same_simulation_from_multiple_clients
>
>
>
> Am Do., 20. Dez. 2018 um 10:52 Uhr schrieb <[email protected]>:
>
> Hello everyone,
>
>
>
> so i'm new to SUMO and want to connect two different clients (both python
> scripts, Interface: TraCI) to the same SUMO connection.
>
> How can I do that exactly? I read about the simulationSteps from the post
> yesterday, but I can't manage to implement it.
>
>
>
> Thanks a lot.
>
>
>
> Greetings!
>
> _______________________________________________
> sumo-user mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
>
> _______________________________________________ sumo-user mailing list
> [email protected] To change your delivery options, retrieve your
> password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
>
> _______________________________________________ sumo-user mailing list
> [email protected] To change your delivery options, retrieve your
> password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
> _______________________________________________ sumo-user mailing list
> [email protected] To change your delivery options, retrieve your
> password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
> _______________________________________________
> sumo-user mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
>
import os,sys
sys.path.append(os.environ['SUMO_HOME'] + '/tools')
import traci
PORT = 9000
traci.init(PORT)
traci.setOrder(2)
for i in range(10):
traci.simulationStep()
traci.close()
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated on Thu 20 Dec 2018 06:46:10 PM CET by Eclipse SUMO netedit Version v1_0_1+1015-8e01b2d
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/netconvertConfiguration.xsd">
<input>
<new value="true"/>
</input>
</configuration>
-->
<net version="1.1" junctionCornerDetail="5" limitTurnSpeed="5.50" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/net_file.xsd">
<location netOffset="1.92,-47.71" convBoundary="0.00,0.00,84.51,0.00" origBoundary="10000000000.00,10000000000.00,-10000000000.00,-10000000000.00" projParameter="!"/>
<edge id="gneE0" from="gneJ0" to="gneJ1" priority="-1">
<lane id="gneE0_0" index="0" speed="13.89" length="84.51" shape="0.00,-1.60 84.51,-1.60"/>
</edge>
<junction id="gneJ0" type="dead_end" x="0.00" y="0.00" incLanes="" intLanes="" shape="0.00,0.00 0.00,-3.20"/>
<junction id="gneJ1" type="dead_end" x="84.51" y="0.00" incLanes="gneE0_0" intLanes="" shape="84.51,-3.20 84.51,0.00"/>
</net>
import os,sys
sys.path.append(os.environ['SUMO_HOME'] + '/tools')
import traci
PORT = 9000
traci.start(['sumo-gui', '-n', 'net.net.xml', '--num-clients', '2', '-S'], port=PORT)
traci.setOrder(1)
for i in range(10):
traci.simulationStep()
traci.close()
_______________________________________________
sumo-user mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-user