'''
тоже сокет, но теперь для общения независимых программ, а не только потоков
выполнения; сервер в этом примере обслуживает клиентов, выполняющихся в виде
отдельных процессов и потоков; сокеты, как и именованные каналы, являются
глобальными для компьютера: для их использования не требуется совместно
используемая память
'''
from socket_preview import server, client  # оба используют тот же номер порта
import sys, os
from threading import Thread

mode = int(sys.argv[1])
if mode == 1:
    server()  # запустить сервер в этом же процессе
elif mode == 2:
    client('client:process=%s' %
           os.getpid())  # Запустить клиента в этом же процессе
else:
    for i in range(5):  # запустить пять потоков клиентов
        Thread(target=client, args=('client: thread=%s' % i, )).start()
Esempio n. 2
0
"""
same socket, but talk between independent programs too, not just threads;
server here runs in a process and serves both process and thread clients;
sockets are machine-global, much like fifos: don't require shared memory
"""
from socket_preview import server, client # both use same port number

import sys, os
from threading import Thread

mode = int(sys.argv[1])
if mode == 1: # run server in this process
    server()
elif mode == 2: # run client in this process
    client('client:process=%s' % os.getpid())
else: # run 5 client threads in process
    for i in range(5):
        Thread(target=client, args=('client:thread=%s' % i,)).start()
Esempio n. 3
0
"""
same socket, but talk between independent programs too, not just threads;
server here runs in a process and serves both process and thread clients;
sockets are machine-global, much like fifos: don't require shared memory
"""

from socket_preview import server, client
import sys, os
from threading import Thread

mode = int(sys.argv[1])
if mode == 1:
	server()
elif mode == 2:
	client('client:process=%s' % os.getpid())
else:
	for i in range(5):
		Thread(target=client, args=('client:thread=%s' %i,)).start()