Ich fragte, wie man einen TCP-Server herstellt, der die ganze Zeit Daten sendet: Julia TCP select und es funktioniert großartig. Ich habe jetzt ein neues Problem, also dachte ich mir, neue Konversation zu beginnen.
Ich habe diese Art von Verbindung wie auf dem Bild gemacht:
So sendet der Absender manchmal etwas an Server 1 und Server 1 liest ihn und aktualisiert, was an Server 2 gesendet wird, und Server 2 berechnet Zahlen und kommuniziert mit dem C-Programm.
Hier ist mein Server 1 Code:
%Vor%Absender ist:
%Vor%Und Server 2 ist so:
%Vor%Das Problem ist, dass alles zusammen sehr schwer ist. Ich meine, dass ich 2 Nachrichten vom Absender senden kann und alles läuft sehr langsam. Ich kann die ganze Sache 10-15s laufen lassen und dann friert es ein. Alle Verbindungen funktionieren, aber wirklich langsam. Meine Frage ist, ob ich etwas vermisse oder etwas habe, das die Server wirklich langsam macht? Wie kann ich diesen besseren Weg programmieren?
Ich habe kein Problem mehr mit der Langsamkeit. Ich bekam Hilfe von julia-users google forum und von ihnen (Tanmay K. Mohapatra) schrieb besseren Code für den gleichen Zweck: Ссылка Es funktioniert gleicher Weg.
Ein Problem mit beiden Codes ist, dass sie Verbindungen nicht richtig schließen. Wenn der Server 2 ausfällt, erhält der Server 1 einen Schreibfehler, und der Server 1 bleibt im Listenmodus.
Andere Möglichkeiten, wie es funktioniert. Danke an Tanmay!
Edit: fand das langsamere .... das Ding, was die Dinge verlangsamen sollte, tat es. Der Schlafbefehl hat die Dinge verlangsamt, aber es verlangsamte sich mehr, als ich erwartet hatte. Wenn ich Schlafvariable 0,001 Sekunden hatte, verlangsamt es das ganze System wie 0,014s. Also habe ich den Schlafbefehl entfernt und es funktioniert gut.
Tags und Links sockets tcp julia-lang server