@Marat 2 приложения получается запускать, но не получается 3. При запуске 3-го приложения получаю ошибку
FIX 28.09.2021 17:29:29 +03:00 Error System.IO.IOException: Unable to write data to the transport connection: Программа на вашем хост-компьютере разорвала установленное подключение..
---> System.Net.Sockets.SocketException (10053): Программа на вашем хост-компьютере разорвала установленное подключение.
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at StockSharp.Fix.Native.BaseFixWriter.WriteByte(Byte value)
at StockSharp.Fix.Native.TextFixWriter.Write(FixTags tag)
at StockSharp.Fix.Native.Extensions.WriteFixMessage(IFixWriter writer, IFixWriter bodyWriter, String version, String msgType, String senderCompId, String targetCompId, FastDateTimeParser sendingTimeParser, Int64 seqNum, Action`1 handler)
at StockSharp.Fix.Dialects.BaseFixDialect.SendInMessage(Message message)
at StockSharp.Fix.FixMessageAdapter.OnSendInMessage(Message message)
rappersmerti:
@Marat 2 приложения получается запускать, но не получается 3. При запуске 3-го приложения получаю ошибку
FIX 28.09.2021 17:29:29 +03:00 Error System.IO.IOException: Unable to write data to the transport connection: Программа на вашем хост-компьютере разорвала установленное подключение..
---> System.Net.Sockets.SocketException (10053): Программа на вашем хост-компьютере разорвала установленное подключение.
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at StockSharp.Fix.Native.BaseFixWriter.WriteByte(Byte value)
at StockSharp.Fix.Native.TextFixWriter.Write(FixTags tag)
at StockSharp.Fix.Native.Extensions.WriteFixMessage(IFixWriter writer, IFixWriter bodyWriter, String version, String msgType, String senderCompId, String targetCompId, FastDateTimeParser sendingTimeParser, Int64 seqNum, Action`1 handler)
at StockSharp.Fix.Dialects.BaseFixDialect.SendInMessage(Message message)
at StockSharp.Fix.FixMessageAdapter.OnSendInMessage(Message message)
Мы рассмотрели данные которые Вы прислали, в них проблем с гидрой или коннектором мы не обнаружили. Гидра позволяет работать больше чем с 3 приложениями через один коннектор. Не моглди бы Вы создать наиболее простые приложения с минимальным кодом, на которых будет воспроизводиться ошибка?
rappersmerti:
@Marat 2 приложения получается запускать, но не получается 3. При запуске 3-го приложения получаю ошибку
FIX 28.09.2021 17:29:29 +03:00 Error System.IO.IOException: Unable to write data to the transport connection: Программа на вашем хост-компьютере разорвала установленное подключение..
---> System.Net.Sockets.SocketException (10053): Программа на вашем хост-компьютере разорвала установленное подключение.
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at StockSharp.Fix.Native.BaseFixWriter.WriteByte(Byte value)
at StockSharp.Fix.Native.TextFixWriter.Write(FixTags tag)
at StockSharp.Fix.Native.Extensions.WriteFixMessage(IFixWriter writer, IFixWriter bodyWriter, String version, String msgType, String senderCompId, String targetCompId, FastDateTimeParser sendingTimeParser, Int64 seqNum, Action`1 handler)
at StockSharp.Fix.Dialects.BaseFixDialect.SendInMessage(Message message)
at StockSharp.Fix.FixMessageAdapter.OnSendInMessage(Message message)
Мы рассмотрели данные которые Вы прислали, в них проблем с гидрой или коннектором мы не обнаружили. Гидра позволяет работать больше чем с 3 приложениями через один коннектор. Не моглди бы Вы создать наиболее простые приложения с минимальным кодом, на которых будет воспроизводиться ошибка?
Воспроизвел проблему на приложении из урока 02_MarketDepths_Trades. Приложил скрин на котором 2 этих приложения запущены и на одном стакан обновляется а на другом нет. Не смотря на то что инструмент выбран в обоих.
rappersmerti:
Воспроизвел проблему на приложении из урока 02_MarketDepths_Trades. Приложил скрин на котором 2 этих приложения запущены и на одном стакан обновляется а на другом нет. Не смотря на то что инструмент выбран в обоих.
То есть запущены два одинаковых приложения? Какие логи у Вас выходят?
в логе гидры единственное сообщение (сейчас воспроизвел когда запустил 3 приложения. Иногда 2 а иногда 3 требуется):
Unhandled Exception 04.10.2021 22:38:56 +03:00 Error System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. (Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения.)
---> System.Net.Sockets.SocketException (995): Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения.
at System.Net.Sockets.Socket.GetException(SocketError error, Boolean wrapExceptionsInIOExceptions)
at System.Net.Sockets.Socket.CompleteAccept(Socket s, TaskSocketAsyncEventArgs1 saea) at System.Net.Sockets.Socket.<>c.<AcceptAsync>b__281_0(Object s, SocketAsyncEventArgs e) at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e) at System.Net.Sockets.SocketAsyncEventArgs.OnCompletedInternal() at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationAsyncFailure(SocketError socketError, Int32 bytesTransferred, SocketFlags flags) at System.Net.Sockets.SocketAsyncEventArgs.HandleCompletionPortCallbackError(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Net.Sockets.SocketAsyncEventArgs.<>c.<.cctor>b__179_0(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Threading.ThreadPoolBoundHandleOverlapped.CompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pNativeOverlapped) --- End of stack trace from previous location --- at System.Net.Sockets.TcpListener.<AcceptTcpClientAsync>g__WaitAndWrap|29_0(Task1 task)
--- End of inner exception stack trace ---
Да, запущены 2 одинаковых приложения. С этим какието проблемы? Нельзя одинаковые? Если нельзя то скажите насколько разные можно пожалуйста
rappersmerti:
Да, запущены 2 одинаковых приложения. С этим какието проблемы? Нельзя одинаковые? Если нельзя то скажите насколько разные можно пожалуйста
Добрый день. Используйте в разных приложениях разные значение параметров SenderCompId.
Например, в первом приложении:
marketDataAdapter.SenderCompId = "app1"
transactionAdapter.SenderCompId = "app1"
Во втором приложении:
marketDataAdapter.SenderCompId = "app2"
transactionAdapter.SenderCompId = "app2"
и т.д.
コメント (13)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Добрый день. Для решения данной задачи Вы можте воспользоваться Hydra в режиме Эмуляции, подробнее здесь.
@Marat, мне нужно в боевом режиме. Это возможно?
Добрый день. Эмуляция на это и расчитана, что с одной учетке Вы одновременно торгуете с двух прог.
@Marat 2 приложения получается запускать, но не получается 3. При запуске 3-го приложения получаю ошибку
FIX 28.09.2021 17:29:29 +03:00 Error System.IO.IOException: Unable to write data to the transport connection: Программа на вашем хост-компьютере разорвала установленное подключение.. ---> System.Net.Sockets.SocketException (10053): Программа на вашем хост-компьютере разорвала установленное подключение. at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) at StockSharp.Fix.Native.BaseFixWriter.WriteByte(Byte value) at StockSharp.Fix.Native.TextFixWriter.Write(FixTags tag) at StockSharp.Fix.Native.Extensions.WriteFixMessage(IFixWriter writer, IFixWriter bodyWriter, String version, String msgType, String senderCompId, String targetCompId, FastDateTimeParser sendingTimeParser, Int64 seqNum, Action`1 handler) at StockSharp.Fix.Dialects.BaseFixDialect.SendInMessage(Message message) at StockSharp.Fix.FixMessageAdapter.OnSendInMessage(Message message)
Мы рассмотрели данные которые Вы прислали, в них проблем с гидрой или коннектором мы не обнаружили. Гидра позволяет работать больше чем с 3 приложениями через один коннектор. Не моглди бы Вы создать наиболее простые приложения с минимальным кодом, на которых будет воспроизводиться ошибка?
Мы рассмотрели данные которые Вы прислали, в них проблем с гидрой или коннектором мы не обнаружили. Гидра позволяет работать больше чем с 3 приложениями через один коннектор. Не моглди бы Вы создать наиболее простые приложения с минимальным кодом, на которых будет воспроизводиться ошибка?
Добрый день. Мы уже рассматриваем вашу проблему.
Воспроизвел проблему на приложении из урока 02_MarketDepths_Trades. Приложил скрин на котором 2 этих приложения запущены и на одном стакан обновляется а на другом нет. Не смотря на то что инструмент выбран в обоих.
То есть запущены два одинаковых приложения? Какие логи у Вас выходят?
в логе гидры единственное сообщение (сейчас воспроизвел когда запустил 3 приложения. Иногда 2 а иногда 3 требуется):
Unhandled Exception 04.10.2021 22:38:56 +03:00 Error System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. (Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения.) ---> System.Net.Sockets.SocketException (995): Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения. at System.Net.Sockets.Socket.GetException(SocketError error, Boolean wrapExceptionsInIOExceptions) at System.Net.Sockets.Socket.CompleteAccept(Socket s, TaskSocketAsyncEventArgs
1 saea) at System.Net.Sockets.Socket.<>c.<AcceptAsync>b__281_0(Object s, SocketAsyncEventArgs e) at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e) at System.Net.Sockets.SocketAsyncEventArgs.OnCompletedInternal() at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationAsyncFailure(SocketError socketError, Int32 bytesTransferred, SocketFlags flags) at System.Net.Sockets.SocketAsyncEventArgs.HandleCompletionPortCallbackError(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Net.Sockets.SocketAsyncEventArgs.<>c.<.cctor>b__179_0(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Threading.ThreadPoolBoundHandleOverlapped.CompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pNativeOverlapped) --- End of stack trace from previous location --- at System.Net.Sockets.TcpListener.<AcceptTcpClientAsync>g__WaitAndWrap|29_0(Task1 task) --- End of inner exception stack trace ---Да, запущены 2 одинаковых приложения. С этим какието проблемы? Нельзя одинаковые? Если нельзя то скажите насколько разные можно пожалуйста
Да, запущены 2 одинаковых приложения. С этим какието проблемы? Нельзя одинаковые? Если нельзя то скажите насколько разные можно пожалуйста
Добрый день. Используйте в разных приложениях разные значение параметров SenderCompId. Например, в первом приложении: marketDataAdapter.SenderCompId = "app1" transactionAdapter.SenderCompId = "app1"
Во втором приложении: marketDataAdapter.SenderCompId = "app2" transactionAdapter.SenderCompId = "app2" и т.д.
небольшое уточнение. используя разные значение SenderCompId, можно подключаться напрямую к квику. нет необходимости подключаться через гидру.