ПоискПоиск  ПравилаПравила  ПользователиПользователи  ПрофильПрофиль  РегистрацияРегистрация  ВходВход
Форум «Техническая поддержка ПО ASTS»
Форум разработчиков и пользователей программного обеспечения, предназначенного для работы на рынках, обслуживаемых торгово-клиринговой системой ММВБ (ASTS).
Подключение к FAST. Python
Новая тема   Ответить на тему
 Предыдущая тема :: Следующая тема 
 Автор  Сообщение 
sm00th
Стаж: 3 месяца 12 дней
Откуда: Moscow
Сообщений: 3
Вт Май 08, 2018 14:35 Ответить с цитатой Получить постоянный адрес сообщения
Добрый день всем!

Бьюсь несколько дней с проблемой подключения к FAST на уровне сокетов. Подключаюсь так:

import socket

setattr(socket, 'IP_ADD_SOURCE_MEMBERSHIP', 39) # добавляет опцию IP_ADD_SOURCE_MEMBERSHIP, которой по умолчанию в модуле socket у меня нету (по идее выдает integer 39)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) # Здесь все понятно, создается сокет

imr = (socket.inet_pton(socket.AF_INET, group) + socket.inet_pton(socket.AF_INET, '0.0.0.0') + socket.inet_pton(socket.AF_INET, source))

s.setsockopt(socket.SOL_IP, socket.IP_ADD_SOURCE_MEMBERSHIP, imr) # И вот тут возникает коллапс... говорит, что неверный аргумент.

Я там понимаю, что ругается на неправильно составленный аргумент imr. Подскажите, что делать? Сломал уже голову... 
 
AlexInvest
Стаж: 2 года 5 месяцев
Сообщений: 62
Ср Май 09, 2018 16:00 (спустя 1 день 1 час) Ответить с цитатой Получить постоянный адрес сообщения
Не тратьте время на бесполезные задачи. Питон скрипт ляжет на реальном подключении. 
 
sm00th
Стаж: 3 месяца 12 дней
Откуда: Moscow
Сообщений: 3
Чт Май 10, 2018 10:02 (спустя 1 день 19 часов) Ответить с цитатой Получить постоянный адрес сообщения
AlexInvest писал(а):
Не тратьте время на бесполезные задачи. Питон скрипт ляжет на реальном подключении. 


А можно поподробнее, почему он должен лечь?  
 
sm00th
Стаж: 3 месяца 12 дней
Откуда: Moscow
Сообщений: 3
Чт Май 10, 2018 17:59 (спустя 2 дня 3 часа) Ответить с цитатой Получить постоянный адрес сообщения
Хотелось бы еще, чтобы кто-нибудь по теме ответил. Тут не важно уже, стоит ли оно того или нет. Важно понять, в чем проблема и решить ее. 
 
Константин Мымрин
Стаж: 6 лет 11 месяцев
Откуда: Московская биржа
Сообщений: 21
Пн Май 21, 2018 10:26 (спустя 12 дней 19 часов) Ответить с цитатой Получить постоянный адрес сообщения
Вот пример работающего кода. Проверено на Python 2.7.

import socket

if not hasattr(socket, 'IP_ADD_SOURCE_MEMBERSHIP'):
	setattr(socket, 'IP_ADD_SOURCE_MEMBERSHIP', 39)

group = '239.192.70.40'
port = 40040
bind = '0.0.0.0'
source = '10.50.129.90'

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)

imr = (socket.inet_pton(socket.AF_INET, group) + socket.inet_pton(socket.AF_INET, bind) + socket.inet_pton(socket.AF_INET, source))

s.setsockopt(socket.IPPROTO_IP, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_SOURCE_MEMBERSHIP, imr)
s.bind((group,port))

while True:
	msg = s.recv(16384)
	print len(msg)
 
 
Показать сообщения:   
Новая тема   Ответить на тему
Список разделов форума -> Техническая поддержка ПО ASTS

Rambler's Top100 Rambler's Top100
Рейтинг@Mail.ru
Copyright © Московская биржа, 2006-2018.
Ваши предложения, замечания и вопросы
по работе форума направляйте на email: