Вам не нужен доступ в Интернет, вам просто нужно соединение между машинами (которое у вас, по-видимому, есть). Очевидно, что вы не сможете подключиться к Google без доступа в Интернет.
Для соединений между тремя машинами я бы предложил запустить серверную программу на одной и клиентов на всех из них (если только под концентратором вы не подразумеваете какой-то сервер, а не небольшую вещь с подключенными кабелями Ethernet, и в этом случае вы должны запустить серверную программу на этом).
Я бы посоветовал вам сначала изучить несколько руководств по сокетам, вот некоторые из них, которые я нашел полезными:
http://docs.python.org/3/howto/sockets.html
http://www.kellbot.com/2010/02/tutorial-writing-a-tcp-server-in-python/
И пример кода для простой программы чата:
http://extr3metech.wordpress.com/2012/04/28/writing-a-simple-tcp-server-client-application-in-python/
(Последние два из них предназначены для Python 2.x, который я предполагаю, что вы не используете print
в качестве функции, но их должно быть достаточно легко адаптировать).
На каком-то этапе вы можете обнаружить, что у вас возникают проблемы с отправкой информации, отличной от строк. Я знаю, что застрял на этом целую вечность и пытался делать такие вещи, как свертывание моей собственной системы кодирования для объектов Python, я просто не мог понять, как вы можете отправить список целых чисел, но не целое число само по себе.
Я решил эту проблему, используя кодировку данных json. Это достаточно просто и для этого есть модуль в стандартной библиотеке.
Однако, несмотря на то, что вам может быть довольно легко общаться, просто используя библиотеку сокетов, для более крупных или масштабируемых проектов вы, вероятно, захотите использовать библиотеку-оболочку.
Единственный из них, о котором я что-либо знаю, это twisted, однако он еще не работает с Python 3.x. .
Кроме того, вам нужно убедиться, что вы можете подключиться к другим машинам, так как вы знаете их правильный IP-адрес. Таким образом, вам нужно либо находиться в той же локальной сети, либо сделать что-то вроде создания виртуальной сети (Hamachi — это одно из них) или дать серверу хотя бы статический IP-адрес (переадресация портов и т. д.). Как правило, вам нужно сделать то, что вам нужно, чтобы запустить сервер для такой игры, как Minecraft.
person
rlms
schedule
08.10.2013