Verileri her zaman buraya gönderen TCP sunucusunun nasıl yapılacağını sordum: Julia TCP select ve harika çalışıyor. Şimdi yeni bir problemim var, bu yüzden yeni sohbet etmeye başladım.Julia TCP sunucusu ve bağlantısı
Ben resimdeki gibi bağlantı bu tür yaptı: Yani Gönderen sunucuya 1 bazen bir şeyler gönderir ve sunucu 1 it ve sunucu 2 ve Sunucu 2 hesaplar numaralara göndermek ne güncelleştirmeleri okur ve C ile iletişim
programı.
notwaiting = true
message = zeros(10,14)
server = listen(5001)
connection = connect(5003)
while true
if notwaiting
notwaiting = false
# Runs accept async (does not block the main thread)
@async begin
sock = accept(server)
reply= read(sock, Float64, 11)
message[:,convert(Int64,reply[1])] = reply[2:11]
write(connection,reshape(message,140))
global notwaiting = true
end
end
write(connection,reshape(message,140))
if message[1,1] == -1.0
close(connection)
close(server)
break
end
sleep(0.01) # slow down the loop
end
Gönderen geçerli:: İşte
1 kod benim sunucusudurConnection2= connect(5001)
message = [2.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0]
write(Connection2,message)
close(Connection2)
Ve sunucu 2 şu şekildedir:
her şey birbirine gerçektenfunction Server2_connection()
println("Waiting for connection")
server2 = listen(5003)
conn_2 = accept(server2)
while isopen(conn_2)
try
message_server2 = round(read(conn_2,Float64,140),3)
ins_matrix = reshape(message_server2[1:140],10,14)
catch e
println("caught an error $e")
break
end
end
println("Connection closed")
close(conn)
close(server)
end
sorun olduğunu ağır. Yani göndericiden 2 mesaj gönderebiliyorum ve her şey gerçekten yavaş çalışıyor. Her şeyi 10-15'lerde çalıştırabilirim ve sonra donuyor. Tüm bağlantılar işe yarıyor ama gerçekten yavaş. Sorum şu: bir şeyleri kaçırmıyorum veya sunucuları gerçekten yavaşlatan bir şey mi var? Bu daha iyi yolu nasıl kodlayabilirim?
Uzaktan çağrı/uzaktan değerlendirme için [Julia'nın paralel araçları] (http://docs.julialang.org/en/latest/manual/parallel-computing/) kullanmamanız için herhangi bir sebep var mı? –
Yavaşlığı ve donmayı yeniden üretemedim (testi yaklaşık 5 dakika boyunca çalıştırıp 10 mesaj gönderiyor). Bir Windows sisteminde Julia 0.5 + rc3 çalıştıran tüm programlarla testi yaptım ve yavaşlama olmadı. Sunucu2'yi bir Mac'e (bir wi-fi ağı üzerinden bağlı) aktarma bile 1 ve 2 sunucuları çalıştı. Belki bir versiyonun veya ortamın problemi? (ör .: OS, donanım, ağ, ...) – Gomiero
Ne demek istiyorsun? Daha spesifik olarak ne demek istediğini açıklayabilir misin @FelipeLema –