Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Обмен по сокету

Страниц (1): [1]
 

1. SkaDi - 15 Марта, 2016 - 16:17:52 - перейти к сообщению
Пытаюсб наладить обмен между кибор прогой и левой, через сокет но это в итоге.
пробовал сделать по этому примеру(для просмотра ссылки Вам необходимо авторизоваться) но сервер не читает данные которые я отсылаю и левой программы
(посылаю через udpSocket на 127.0.0.1,10005);

потом попробовал пример
 Цитата:
char s[100];
char p[9999];
//if (opensocket ("5.9.150.14", 80)==1)//Можно по ip
if (opensocket ("kibor-bot.com", 80)==1)//Если открыли сокет
{
messagebox ("open");//Воспроизводим
}
else
{messagebox ("not open");//Воспроизводим
}

при использовании opensocket ("kibor-bot.com", 80)- открывает
при opensocket ("5.9.150.14", 80)- не открывает

можно както реализовать мою задачку?
2. Kibor - 15 Марта, 2016 - 16:27:26 - перейти к сообщению
 SkaDi пишет:
при использовании opensocket ("kibor-bot.com", 80)- открывает
при opensocket ("5.9.150.14", 80)- не открывает

значить изменился ip..... новый 176.9.203.18
(Добавление)
 Цитата:
char recvs[256];//массив в который принимаем
int flag_recv=0;// это флаг в котором будет 1 когда на сервер придет сообщение
enablelistenport (10005);//включили прослушку 10005 порта (самому выбирать)
recvport (#recvs[0], 256, #flag_recv);//начали слушать. в отдельном потоке
loop()
{
if (flag_recv==1)//если тут 1 - пришло сообщение
{
flag_recv=0;//обнулим
messagebox (format(#recvs[0]));
}
sleep(10);
}

чудесно слушает и выводит посланное сообщение на 127.0.0.1 10005
3. SkaDi - 16 Марта, 2016 - 04:11:11 - перейти к сообщению
char s[100];
char p[9999];
//if (opensocket ("5.9.150.14", 80)==1)//Можно по ip
if (opensocket ("127.0.0.1", 10005)==1)//Если открыли сокет
{
messagebox ("open");//Воспроизводим
}
else
{messagebox ("not open");//Воспроизводим
}

чето на работе даже так не открывает((((( дома делал на ip полученый по cmd /k ipconfig /all
сокет открывался, а на работе ни в какую((
4. Kibor - 16 Марта, 2016 - 04:25:11 - перейти к сообщению
 SkaDi пишет:
дома делал на ip полученый по cmd /k ipconfig /all
сокет открывался, а на работе ни в какую((

брандмауэр писал что надо дать разрешение?
наверно блокирует.
(Добавление)
а хотя не... он тут не при чем. то есть при чем если блокирует серверную программу..
(Добавление)
а что вообще требуется получить?
5. SkaDi - 16 Марта, 2016 - 05:23:36 - перейти к сообщению
хочу из программы написанной под Qt передавать данные в Кибор. На данный момент сделал это через системный буфер, но это все равно както кривовато(

вот хочу через сокеты организовать, Qt-Qt работает, кибор-кибор(копипаст из примеров http://kibor-bot.com/forum/topic.php?forum=1&topic=69) тоже работает, а qt-kibor не хочет( (возможно изза того что в Qt использую UdpSocket);

думал мб через opensocket законектятся, но пока что никак, прииду домой еще попробую.
6. Kibor - 16 Марта, 2016 - 06:23:08 - перейти к сообщению
Этот пример работает.
Это сервер. Он получил ответ от клиента написанного на C++
http://kibor-bot.com/forum/topic...77246#1458077246

Клиентом служил чат Кибор в котором я изменил IP на 127.0.0.1 Все работает и программа на C++ связывается с Кибором.

Как там в Qt не знаю.
7. SkaDi - 16 Марта, 2016 - 11:23:15 - перейти к сообщению
сделал через tcpSocket и

CODE:
char recvs[256];//массив в который принимаем
int flag_recv=0;// это флаг в котором будет 1 когда на сервер придет сообщение
enablelistenport (10005);//включили прослушку 10005 порта (самому выбирать)
recvport (#recvs[0], 256, #flag_recv);//начали слушать. в отдельном потоке
loop()
{
messagebox(format(flag_recv));
if (flag_recv==1)//если тут 1 - пришло сообщение
{
flag_recv=0;//обнулим
messagebox (format(#recvs[0]));
recvport (#recvs[0], 256, #flag_recv);//начали слушать. в отдельном потоке
}
sleep(10);
}


правда есть пара интересных моментов.
Почемуто флаг, пока нет сообщения равен -1, хотя мы его обнуляем(похоже что в recvport он выставляется в -1)
после приема 1го сообщения, чтение прекращаяется, и приходится включать прослушку заново( так и должно быть?)
8. Kibor - 16 Марта, 2016 - 11:32:50 - перейти к сообщению
 SkaDi пишет:
Почемуто флаг, пока нет сообщения равен -1, хотя мы его обнуляем(похоже что в recvport он выставляется в -1)

да. ставит -1 если нет сообщения.. не важно.

 SkaDi пишет:
после приема 1го сообщения, чтение прекращаяется, и приходится включать прослушку заново( так и должно быть?)

так должно.
так как неизвестно, может надо ответить?
короче надо включать если не надо отвечать.
или если отвечать над, то ответить и потом опять включать.

Powered by ExBB FM 1.0 Final