2016-05-26 6 views
0

Следуя за нитью в этом форуме, я получил решение для этого урока: http://www.yolinux.com/TUTORIALS/CORBA.html Но теперь я хочу сделать что-то еще. Я хочу сделать какую-то игру, для 2 или более игроков (клиентов). Но я не знаю, позволяет ли omniorb отправлять значения через клиентскую программу. Игра состоит в написании комментария как «бросок» на стороне клиента и генерации случайного целочисленного числа, и если общая сумма => 60 побед. Мой вопрос в основном заключается в том, что клиент может поймать ввод с клавиатуры, и если он более эффективно выполняет весь процесс (генерирует случайные и суммарные) на клиенте или в другом классе/файле. Как всегда благодарю вас заранее. Приветствия!Задайте значения с omniorb client

+0

Как работает corba, клиент вызывает функцию, которая похожа на функцию сервера, за исключением того, что все, что она делает, это вызов функции сервера - это просто прокси-сервер для функции сервера. Поэтому, если вы хотите отправить значение, вам нужно вызвать функцию. Вы можете сделать функцию 'void throw (int)' и передать случайное значение, или вы можете сделать функцию 'void throw()' и создать сервер, генерирующий случайное значение (это позволяет людям обманывать, возившись с клиентом.) –

+0

Mmm ... я думаю, что понимаю. Итак, я создаю методы/функции, которые я хочу в idl-файле, после этого я делаю файлы cpp сервера/клиента, используя эти скомпилированные файлы из x.idl, но так как я могу вводить значения, например readln() в клиенте? Как обычный язык C++? – Pepe

+0

IDL содержит функции, которые вы хотите использовать. Затем вы компилируете IDL и он создает код C для клиента и сервера. Затем на клиенте вы пишете код C++, который вызывает функция, которая поступает из IDL и соответствующей функции на сервере, вызывается через магию corba. Затем на сервере вам нужно написать код для функции. –

ответ

0

Ну, после небольшого поиска я нашел то, что мне нужно. В основном я хотел просить что-то (строка или что-то еще). Я помещаю свой код, его файл cpp кстати.

PedidoServicioA peticionA; // Constructor establishes the link with  the CORBA server. 
std::string opcion; 
while(opcion!=":salir"){ 
std::cout << "Introduzca ':lanzar' para tirar el dado o ':salir' para terminar la conexion" << endl; 
std::getline(std::cin,opcion); 

    if(opcion==":salir"){ 
    std::cout << "Adios!" << endl;} 
    else 
    { 
    if(peticionA.PedidoServLanzar()!=0) cout << "ServicioA Lanzar: En accion"  << endl; 
    if(peticionA.PedidoServSuma()!=0) cout << "ServicioA Sumar: En accion" << endl; 
    } 
} 

Хорошо, поскольку вы можете видеть, что все выходы находятся на испанском языке, но это всего лишь комментарии. Thx много для вашей помощи. Другое дело, могу ли я объявить глобальные переменные, выполняющие программирование OO на C++? Coz i can not make adition, каждый раз, когда я запускаю его, значение adition равно 0.

 Смежные вопросы

  • Нет связанных вопросов^_^