Как сделать удаленный доступ к индюку? - страница 9

 
Тогда осталось дело за малым. начать и кончить :)
 

Вот этим и займемся :)

 
Ребята я рад, что Вы сами себя столкнули с мёртвой точки. Желаю успехов.
 
sergeev >>:

про winsock.dll как раз и идёт речь.

имеется ввиду, что нежелательно использовать свои самописные либы. а виндовые без проблем.

Если не сложно, поделитесь ссылками или кодами без классов (обверток). желательно чистое апи.


Да в общем то дело то не сложное. У Вас есть библиотека ws2_32.dll, собственно из неё и импортируете функции 

int WSAStartup, WSACleanup, socket, bind, connect, listen, accept, recv, send, closesocket.

Вроде этого должно быть достаточно для работы и клиента и сервера(мог что то и пропустить см. MSDN). Ну а дальше вроде уже и так понятно что делать, берешь из того же мсдн пример и переводишь его в мкл. Только не очень хорошо получится, ты будешь использовать блокирующие сокеты соответственно поток у тебя встанет и обработку ты не сможешь вести на сервере.
 
SofTAA >>:
Только не очень хорошо получится, ты будешь использовать блокирующие сокеты соответственно поток у тебя встанет и обработку ты не сможешь вести на сервере.

с этого места поподробнее. :)

1. на как долго произойдет блокирование?

2, что затрагивает эта блокировка

2. альтернатива без блокирования.

вообще практика работы с сокетами есть (разрабатывал распределенные вычисления, но не апи методами а классами MFC)

с блокировкой сервака (то есть компа-рассыльщика заданий) проблем не было и даже не знал про это.

это в каких случаях может проявится?

 

Насколько я понял речь идет о синхронном доступе.

 
sergeev >>:

с этого места поподробнее. :)

1. на как долго произойдет блокирование?

2, что затрагивает эта блокировка

2. альтернатива без блокирования.

вообще практика работы с сокетами есть (разрабатывал распределенные вычисления, но не апи методами а классами MFC)

с блокировкой сервака (то есть компа-рассыльщика заданий) проблем не было и даже не знал про это.

это в каких случаях может проявится?


Тут без разницы работать напрямую или через MFC, все равно корни уходят в ws2_32.dll. Если использовать блокирующие сокеты то сервер постоянно будет слушать порт и соответственно поток всегда будет заблокирован. К сожалению многопоточности в мкл не наблюдается, и не предвидится, поэтому эту проблему кроме как в самописной либе не обойти. Естественно атких проблем с клиентом не будет. Так что если просто от МТ кидать данные стороннему приложению, то вполне можно реализовать используя чистое апи.
 
xrust >>:

Насколько я понял речь идет о синхронном доступе.


Да, именно так. Для асинхронной работы возможностей МКЛ явно маловато.
 
SofTAA >>:


Если использовать блокирующие сокеты то сервер постоянно будет слушать порт и соответственно поток всегда будет заблокирован.

то есть заблокируется работа МТ или потока эксперта из за того, что сокет войдет в бесконечный цикл прослушки?

это про listen?

 

Не будьте так строги к МТ некоторая многопоточность все таки присутствует - индикаторы работают в потоке теминала, а советники и скрипты в своем отдельном потоке .
Вот канал торговых приказов - один. так что советник не станет тормозить терминал, ну или получит таймаут от него через стандартные 2,5 минуты...

Причина обращения: