Если это не асинхронно (одновременная отправка и получение), вы можете использовать интерфейс сокета а>.
Если вам нравятся абстракции (или вам нужна поддержка асинхронности), всегда есть Twisted.
Вот пример с интерфейсом сокета (который станет сложнее использовать по мере роста вашей программы, поэтому я бы предложил либо Twisted, либо асинкор)
import socket
def mysend(sock, msg):
totalsent = 0
while totalsent < MSGLEN:
sent = sock.send(msg[totalsent:])
if sent == 0:
raise RuntimeError("socket connection broken")
totalsent = totalsent + sent
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("where ever you have your other computer", "port number"))
i = 2
mysend(s, str(i))
Документация по Python превосходна, я взял оттуда функцию mysend().
Если вы выполняете работу, связанную с вычислениями, ознакомьтесь с XML-RPC. упаковано для вас.
Помните, что сокеты подобны файлам, поэтому они не сильно отличаются для написания кода, поэтому, пока вы можете выполнять базовые файловые операции ввода-вывода и понимать события, программирование сокетов совсем не сложно (пока вы не слишком усложняете, например, мультиплексирование потоков VoIP...)
person
Dhaivat Pandya
schedule
11.05.2011