2 Server in eime Programm mit Thread ?
Verfasst: Montag 5. März 2018, 14:09
Wie kann ich bitte die beiden Server Port 5000 und Port 5001 am sinnvollsten laufen lassen?
Wie geht ein Thread in Python?
Danke.
Gruss
Wie geht ein Thread in Python?
Danke.
Gruss
Code: Alles auswählen
import time
import krpc
import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 5000
BUFFER_SIZE = 64
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(1)
con, addr = s.accept()
TCP_IP = '127.0.0.1'
TCP_PORT = 5001
BUFFER_SIZE1 = 64
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s1.bind((TCP_IP, TCP_PORT))
s1.listen(1)
con1, addr1 = s1.accept()
conn = krpc.connect(name='Sub-orbital flight',
address='127.0.0.1',
rpc_port=1000, stream_port=1001)
conn1 = krpc.connect(name='Sub-orbital flight',
address='127.0.0.1',
rpc_port=2000, stream_port=2001)
vessel = conn.space_center.active_vessel
ref_frame = conn.space_center.ReferenceFrame.create_hybrid(
position=vessel.orbit.body.reference_frame,
rotation=vessel.surface_reference_frame)
vessel1 = conn1.space_center.active_vessel
ref_frame1 = conn1.space_center.ReferenceFrame.create_hybrid(
position1=vessel.orbit.body.reference_frame1,
rotation1=vessel.surface_reference_frame1)
time.sleep(1)
while True:
data =con.recv(BUFFER_SIZE)
if len(data) > 3:
li=data.split(",")
ti2=li.pop()
ti1=li.pop()
if ti1=='trottle':
vessel.control.throttle = float(ti2)
if ti1=='stage':
vessel.control.activate_next_stage()
if ti1=='heading':
vessel.control.set_target_heading=float(ti2)
if (data) == 'd,0':
data_velo=round(vessel1.flight(ref_frame).speed)
data_alti =round(vessel1.flight().mean_altitude)
data_apoa =round(vessel1.orbit.apoapsis_altitude)
data_peri =round(vesse1l.orbit.periapsis_altitude)
con1.send(':'+str(data_velo)+':'+str(data_alti)+':'+str(data_apoa)+':'+str(data_peri)+':')
con.close()
conn.close()
con1.close()
conn1.close()