"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
Аватара пользователя
korsianen
Задача: отправить сообщение с сервера в нете в чат в конференцию чтоб все пользователи в конференции увидели сообщение.

Делаю так:
Код: Выделить всё
$host = 'ip сервера чата';
$portWEB = '2004';
$typeOfConnection = 'http';
$ServerKey = 'ключ скрыт';
$cmd = '0004';
$UID = '2';
$userFrom = '0';
$msg = 'hello';
$APIStype = 'php';
$json = json_encode(array(
    'ServerKey'=>$ServerKey,
    'APIStype'=>$APIStype,
    'UserFrom' =>$userFrom,
    'UID' =>$UID,
    'cmd'=>$cmd,
    'Msg'=>$msg 
));
$json = urlencode($json);
$URL = $typeOfConnection.'://'.$host.':'.$portWEB.'/API/?data=' . $json;
file_get_contents($URL);


в логах на сервере пишет так:
0031 [29.09.2016 13:02:26:373] Ошибка #102: попытка подключения неизвестного приложения, IP "212.109.194.62"
0073 [29.09.2016 13:02:26:383] Клиент с IP адресом 212.109.194.62 отключился

Теперь вопрос: что я делаю не так?
Аватара пользователя
Георгий Лысенко
Проверил на своем сервере, все работает отлично.
Какой у вас порт установлен для WEB-подключения? Не 2004, думаю.
Аватара пользователя
Георгий Лысенко
Обычно, для сервера без шифрования, это 80 порт.
Посмотреть номер своего порта вы можете в админке.
Пункт Настройки -> WEB-сервисы. В самом верху TCP порт.
Аватара пользователя
korsianen
TCP порт стоит 2004, переброс в роуторе стоит на этот порт 2004. Смысл в том что сервер чата видит запросы но почемуто выдает ошибку в логах (системные протоколы)
0031 [29.09.2016 15:41:51:633] Ошибка #102: попытка подключения неизвестного приложения, IP "212.109.194.62"
0073 [29.09.2016 15:41:51:643] Клиент с IP адресом 212.109.194.62 отключился
кстати версия сервера чата 5.20.2 может надо до новой версии обновиться?
Аватара пользователя
korsianen
а стоп в веб сервисах стоит порт 8085, что надо его указывать?
Аватара пользователя
Георгий Лысенко
Именно так.
И обновиться не помешает.
Аватара пользователя
korsianen
Все спасибо заработало!!!
вот код:
Код: Выделить всё
<?php  
$host = 'IP адрес сервера';
$portWEB = '8085';
$typeOfConnection = 'http';
$ServerKey = 'ключ';
$cmd = '0004';
$UID = '2';
$userFrom = '0';
$msg = 'hello';
$APIStype = 'php';
$json = json_encode(array(
    'ServerKey'=>$ServerKey,
    'APIStype'=>$APIStype,
    'UserFrom' =>$userFrom,
    'UID' =>$UID,
    'cmd'=>$cmd,
    'Msg'=>$msg 
));
$json = urlencode($json);
$URL = $typeOfConnection.'://'.$host.':'.$portWEB.'/API/?data=' . $json;
file_get_contents($URL);
?>
Аватара пользователя
Георгий Лысенко
Хорошо, тему закрываем.
Аватара пользователя
korsianen
Просто получается в описании не понял я, смотрите как тут описано подключение https://nsoft-s.com/mcserverhelp/ в Как настроить сервер для работы с Integration API?
В ниспадающем списке "Привязка сервера к IP (bind)" отображаются все доступные IP адреса сетевых интерфейсов компьютера, на котором работает MyChat Server. Порт указан в этом же окне, обычно его номер — 2004. Соединяться следует на тот адрес, который выбран в ниспадающем списке, если же выбрано "слушать всё", то тогда можно соединяться на любой адрес из списка.
Аватара пользователя
Алексей Пикуров
IntegrationAPI может работать как по основному адресу, через протокол MyChat, так и через REST API.

Если будете работать напрямую, через сокеты, то это немного сложнее: https://nsoft-s.com/mcserverhelp/index. ... ockets.htm

Если через REST — то чуть проще, но тогда вы коннектитесь уже НЕ на порт сервера MyChat (TCP 2004), а на порт встроенного WEB сервера Node.
https://nsoft-s.com/mcserverhelp/index. ... lerest.htm

P.S. Линк на статью справки здесь:

helparticlelink.png


P.P.S. Я уточню эти моменты в официальной справке, чтобы не было путаницы с портами.
У вас нет необходимых прав для просмотра вложений в этом сообщении.