AnimusPEXUS |
Отметившийся |
|
|
Joined: 14 Sep 2013 |
Posts: 5 |
|
|
|
|
|
|
|
есть потребность обсудить тему xmpp + ejabberd + сокеты + питон + линукс: есть одна проблема с сокетами и ejabberd, которую не выходит решить самостоятельно
а конкретно:
пишу свою реализацию xmpp для py3.3 с прилогающимся клиентом. вообще-то, она уже более или менее работает, но есть загвоздка: при получении объёмного дерева disco с сервера конференций ejabberd, считывание входных данных с сокета - глохнет где-то по середине (20480 байт) и select показывает что на входе ничего нет , при чём, если при этом в сокет кинуть какую-нибудь станзу, то, похоже что, на сервере что-то срабатывает и он продолжает отдавать недоотданные данные, а за тем и ответ на следующую станзу. на других реализациях сервера xmpp, такое не наблюдается - пробовал ещё на openfire и ещё на чём-то из списка на jabberworld.info . глохнет на jabber.ru и на ещё каких-то ejabberd, хотя на большинстве не были такие большие деревья, но оно всеравно глохло. а на собственном сервере ejabberd всё вроде нормально, хотя у мя там только 7 комнат. а иногда, всётаки, на jabber.ru срабатывает без затыка.
формула коннекта к серверу: простой питоновский сокет + SO_KEEPALIVE + питоновский ssl врапер + sasl + bind + session
просьба покидать догадки, что это может быть, так как сорцы пока выкладывать стыдно. |
|