Page 89 - 6734
P. 89
мережу від клієнтів та відсилає їх назад. Для виконання прикладу не
потрібно наявності віддаленої машини, так як сервер і клієнт будуть
виконуватись на одній машині (адреса ‘127.0.0.1’ або ‘localhost’ або
’’ означає цей комп’ютер). Виконайте цей модуль командою
python server.py, а в іншому консольному вікні введіть python
client.py.
import socket
from socketFileIO import write, read
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# відкрити сокет типу TCP/IP
s.bind(('localhost', 50007)) # зв'язати сокет із
локальною адресою і портом
s.listen(1) # дозволити не більше 1 з'єднання з
клієнтом
while True: # цикл
soc, addr = s.accept() # чекає з'єднання з
клієнтом, повертає об'єкт сокета та адресу і порт
клієнта
print 'Server is connected to client', addr
x=soc.recv(255) # отримати з сокета рядок
довжиною не більше 255
#x=read(soc) # або
print 'Client:', x
soc.sendall(x) # надіслати рядок
#write(soc,x) # або
soc.close() # закрити з'єднання з клієнтом
if x=='End': break # якщо отримано такий рядок,
то завершити цикл
Server is connected to client ('127.0.0.1', 50827)
Client: A
Server is connected to client ('127.0.0.1', 50828)
Client: B
Server is connected to client ('127.0.0.1', 50829)
Client: C
88