मैंने पूछा कि टीसीपी सर्वर कैसे बनाना है जो हर समय डेटा भेजता है: Julia TCP select और यह बहुत अच्छा काम करता है। अब मुझे नई समस्या है, इसलिए मैंने नई बातचीत शुरू करने के लिए सोचा।जूलिया टीसीपी सर्वर और कनेक्शन
मैं चित्र पर की तरह कनेक्शन के इस प्रकार किया:
तो भेजने वाले का कभी कभी सर्वर 1 के लिए कुछ भेजता है और सर्वर 1 यह और क्या सर्वर 2 और सर्वर 2 गणना संख्या को भेजने के लिए अद्यतन पढ़ता है और सी के साथ संचार कार्यक्रम।
यहाँ अपने सर्वर है 1 कोड:
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
भेजने वाले है:
Connection2= 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)
और सर्वर 2 इस तरह है:
function 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
समस्या है कि सब कुछ एक साथ वास्तव में है भारी। मेरा मतलब है कि मैं प्रेषक से 2 संदेश भेज सकता हूं और सब कुछ वास्तव में धीमा चल रहा है। मैं पूरी चीज 10-15s चला सकता हूं और फिर यह जम जाता है। सभी कनेक्शन काम करते हैं, लेकिन वास्तव में धीरे-धीरे। मेरा सवाल है क्या मुझे कुछ याद आ रहा है या ऐसा कुछ है जो सर्वर को वास्तव में धीमा कर देता है? मैं इस बेहतर तरीके से कैसे कोड कर सकता हूं?
रिमोट कॉलिंग/रिमोट मूल्यांकन के लिए आप [जूलिया के समांतर उपकरण] (http://docs.julialang.org/en/latest/manual/parallel-computing/) का उपयोग नहीं कर रहे किसी भी विशेष कारण से हैं? –
मैं धीमेपन और न ही फ्रीज (लगभग 5 मिनट के लिए परीक्षण चला रहा हूं और 10 संदेश भेज रहा हूं) को पुन: उत्पन्न नहीं कर सका। मैंने विंडोज सिस्टम पर जूलिया 0.5 + आरसी 3 चलाने वाले सभी कार्यक्रमों के साथ परीक्षण किया और कोई धीमा नहीं था। सर्वर 2 को मैक में ले जाना (वाई-फाई नेटवर्क से जुड़ा हुआ) सर्वर 1 और 2 ठीक चला गया। शायद यह एक संस्करण या पर्यावरण की समस्या है? (उदा .: ओएस, हार्डवेयर, नेटवर्क, ...) – Gomiero
आपका क्या मतलब है? क्या आप अधिक विशेष रूप से समझा सकते हैं कि आपका क्या मतलब है @FelipeLema –