"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
Аватара пользователя
Шокин Артём
Перетаскиваю фотку 3мб в поле куда вводится текст
чат принимает вид как на скриншоте
не спрашивает про добавить коммент и пользователей
на скриншоте ситуация перед эксепшеном
лог тоже приложил
При отправке через меню отправить файл - всё ок
В чём может быть проблема?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Алексей Пикуров
При drag&drop одной картинки чат автоматически "понимает", что следует вставить её как изображение, а не передавать как файл. Поведение штатное.

По баг-репорту не могу понять, что у вас произошло. Повторил ваши действия у себя - всё работает, проблема не воспроизводится.

Эта проблема у вас на всех компьютерах?
Аватара пользователя
Алексей Пикуров
P.S. Покажите здесь файл ftp.log вашего клиента, на котором вывалилась ошибка.
Аватара пользователя
Шокин Артём
простите, там в логе мой внешний адрес прописан, могу только непублично послать
Вкратце для такого глюка нужно слать именно картинку, именно перетаскиванием.
Кроме того в логе неправильно резолвится имя моего внешнего адреса.
То есть прописано xxxxxxx.dyndns.org, а фтп коннектится на внутренний адрес сервера (0.200),
причём я прописал специально в настройках ftp внешний.
Попробовал и ип и имя, ему без разницы
вот кусок
[2015-09-02 18:16:31:287] FTPUpload ResolvingBegin 192.168.0.200:20010
[2015-09-02 18:16:31:289] ResolvingEnd 192.168.0.200:20010
[2015-09-02 18:16:31:291] SocketCreate IPv4
[2015-09-02 18:16:52:298] Error 10060,Connection timed out
[2015-09-02 18:16:52:300] Connect 192.168.0.200:20010
[2015-09-02 18:16:52:351] SocketClose
[2015-09-02 18:16:52:354] FTPUpload ResolvingBegin 192.168.0.200:20001
[2015-09-02 18:16:52:357] ResolvingEnd 192.168.0.200:20001
[2015-09-02 18:16:52:359] SocketCreate IPv4
[2015-09-02 18:17:13:353] Error 10060,Connection timed out
[2015-09-02 18:17:13:355] Connect 192.168.0.200:20001
[2015-09-02 18:17:13:359] SocketClose
[02.09.2015 18:17:59] Trying connect to IP 192.168.0.128, port 10000
[02.09.2015 18:18:02] There is no direct connection between clients. Started sending files through the MyChat Server
[02.09.2015 18:18:20] Connect to IP 192.168.0.128, port 10000 FAILED

Как видите ломится на внутренний
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Алексей Пикуров
После того, как прописали, надо перезапустить сервер. Вы это сделали? Прописывать только IP.
Аватара пользователя
Шокин Артём
Прям видеоответ
http://youtu.be/D9wIKMzEpUs

И ещё фтп.лог самого сервера, 192.168.0.1 - это
роутер в локали сервера, поэтому клиент определяется как 192.168.0.1

02.09.2015 23:53:00:146|0022|192.168.0.1 connected
02.09.2015 23:53:00:193|0020|192.168.0.1 USER PAS_Images
02.09.2015 23:53:00:193|0021|192.168.0.1 331 Password required for PAS_Images.
02.09.2015 23:53:00:236|0020|192.168.0.1 PASS ********
02.09.2015 23:53:00:236|0022|192.168.0.1 User "PAS_Images" is authenticated
02.09.2015 23:53:00:236|0021|192.168.0.1 230 User PAS_Images logged in.
02.09.2015 23:53:00:278|0020|192.168.0.1 TYPE I
02.09.2015 23:53:00:278|0021|192.168.0.1 200 Type set to I.
02.09.2015 23:53:00:322|0020|192.168.0.1 STRU F
02.09.2015 23:53:00:322|0021|192.168.0.1 200 Ok. STRU parameter 'F' ignored.
02.09.2015 23:53:00:364|0020|192.168.0.1 MODE S
02.09.2015 23:53:00:364|0021|192.168.0.1 200 MODE S Ok
02.09.2015 23:53:00:406|0020|192.168.0.1 REST 0
02.09.2015 23:53:00:406|0021|192.168.0.1 350 REST supported. Ready to resume at byte offset 0.
02.09.2015 23:53:00:449|0020|192.168.0.1 REST 1
02.09.2015 23:53:00:449|0021|192.168.0.1 350 REST supported. Ready to resume at byte offset 1.
02.09.2015 23:53:00:500|0020|192.168.0.1 REST 0
02.09.2015 23:53:00:500|0021|192.168.0.1 350 REST supported. Ready to resume at byte offset 0.
02.09.2015 23:53:00:582|0020|192.168.0.1 PASV
02.09.2015 23:53:00:583|0021|192.168.0.1 227 Entering Passive Mode (192,168,0,200,78,33).
02.09.2015 23:53:21:641|0020|192.168.0.1 PASV
02.09.2015 23:53:21:642|0021|192.168.0.1 227 Entering Passive Mode (192,168,0,200,78,34).
02.09.2015 23:53:42:695|0020|192.168.0.1 QUIT
02.09.2015 23:53:42:695|0021|192.168.0.1 221 Goodbye.
02.09.2015 23:53:42:695|0022|192.168.0.1 disconnected
Аватара пользователя
Алексей Пикуров
Окей, ситуация следующая. Я буду рассматривать случай с отправкой файла-изображения через drag&drop в окно привата. В других вариациях всё немного иначе.

MyChat Client работает в этом случае так:

1. В открытом привате клиент отлавливает попытку drop-а одного файла.
2. Анализируется, что это за файл, если это картинка (jpg, png и т.п.), то идём дальше.
3. Отправляем этот файл напрямую на сервер по FTP. Адрес тот же, по которому мы коннектимся по 2004 порту.

Судя по видео, у клиента нет соединения по FTP с сервером MyChat по адресу 192.168.0.200 по портам 20001, 20002. Он закрыт файрволом, антивирусом или чем-то ещё, потому что я вижу в клиентском логе ошибку "10060 Connection timed out".

Вы должны обеспечить доступ с клиента на сервер и обратно доступ к FTP по пулу TCP портов, что у вас указаны в настройках сервера MyChat.
Аватара пользователя
Шокин Артём
Судя по видео, у клиента нет соединения по FTP с сервером MyChat по адресу 192.168.0.200 по портам 20001, 20002. Он закрыт файрволом, антивирусом или чем-то ещё, потому что я вижу в клиентском логе ошибку "10060 Connection timed out".

В локальной сети клиента нет такого адреса, это локальный адрес сервера
Клиент приконнекчен через внешний адрес, я вообще не понимаю, почему
клиент ломится на 192.168.0.200, то есть откуда он взял эту цифру
Локальная подсеть клиента 192.168.11.х
Вы должны обеспечить доступ с клиента на сервер и обратно доступ к FTP по пулу TCP портов, что у вас указаны в настройках сервера MyChat.

вот про слово "обратно" не понял? как это возможно? соединение же исходящее с клиента

Дополнительно ответил в личку
Аватара пользователя
Шокин Артём
Решение здесь
viewtopic.php?f=1&t=3976
Аватара пользователя
Алексей Пикуров
От себя.

Как выяснилось, был не совсем верно настроен маппинг портов на роутере.

Причину я выяснил по логам FTP клиента FAR Manager:

. 2015-09-03 16:01:37.263 Using FTP protocol.
. 2015-09-03 16:01:37.267 Doing startup conversation with host.
> 2015-09-03 16:01:37.268 PWD
< 2015-09-03 16:01:37.350 257 "/" is current directory.
. 2015-09-03 16:01:37.353 Changing directory to "/".
> 2015-09-03 16:01:37.354 CWD /
< 2015-09-03 16:01:37.426 250 CWD command successful. "/" is current directory.
. 2015-09-03 16:01:37.426 Startup conversation with host finished.
. 2015-09-03 16:01:37.427 Getting current directory name.
> 2015-09-03 16:01:37.427 PWD
< 2015-09-03 16:01:37.498 257 "/" is current directory.
. 2015-09-03 16:01:37.503 Retrieving directory listing...
> 2015-09-03 16:01:37.504 TYPE A
< 2015-09-03 16:01:37.625 200 Type set to A.
> 2015-09-03 16:01:37.625 PASV
< 2015-09-03 16:01:37.663 227 Entering Passive Mode (xxx,xxx,xxx,xxx,78,34).
. 2015-09-03 16:01:37.663 Server sent passive reply with unroutable address yyy.yyy.yyy.yyy, using host address instead.


Клиент отправляет серверу команду PASV, но в ответ сервер шлёт не свой внешний IP, который указан в настройках MyChat Server для FTP, а внутренний, в локальной сети. Роутер делает подмену и в итоге в ответ клиенту приходит не тот адрес для соединения, что указан в настройках сервера и реально отправляется, а другой. Плагин ФАР-а видит, что достучаться к этому адресу у него не выйдет, и говорит: "У меня не вышло законнектиться к тому адресу, что мне сообщил сервер, а попробую я коннект на тот же, на котором проходила авторизация, вдруг поможет".

Плагин ФАР-а умный, делает разные предположения:) Как поведут себя другие клиенты - гарантий никаких. MyChat такого не делает, Internet Explorer - тоже.

P.S. Артём описал настройку своего роутера со скриншотом и пояснениями постом выше.