Сокеты (простые примеры) — различия между версиями
Moiseevvi (обсуждение | вклад) |
Moiseevvi (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python. | Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python. | ||
− | + | == UDP - half-duplex datagram == | |
− | + | === Server === | |
from socket import * | from socket import * | ||
Строка 14: | Строка 14: | ||
break | break | ||
− | + | === Client === | |
from socket import * | from socket import * | ||
Строка 22: | Строка 22: | ||
− | TCP - full-duplex stream | + | == TCP - full-duplex stream == |
− | + | === Server === | |
from socket import * | from socket import * | ||
Строка 36: | Строка 36: | ||
− | + | === Client === | |
from socket import * | from socket import * | ||
t = socket(AF_INET, SOCK_STREAM) | t = socket(AF_INET, SOCK_STREAM) |
Версия 08:14, 19 января 2021
Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.
Содержание
UDP - half-duplex datagram
Server
from socket import *
u = socket(AF_INET, SOCK_DGRAM) u.bind(("0.0.0.0",1234)) // ip-port tuple to bind server
while 1:
message,sender= u.recvfrom(1024) print 'Client' + str(sender) + ' said: ' + message if message == : break
Client
from socket import *
u = socket(AF_INET, SOCK_DGRAM) u.sendto("Hello world!", ("1.2.3.4",1234)) // ip-port tuple of server
TCP - full-duplex stream
Server
from socket import *
t = socket(AF_INET, SOCK_STREAM) t.bind(("0.0.0.0",1234)) t.listen() c = t.accept() c c[0].recv(200)
'jellojellojello'
c[0].send(b"Hi")
Client
from socket import * t = socket(AF_INET, SOCK_STREAM) t.connect(("1.2.3.4",1234)) socket.error: [Errno 111] Connection refused
t.send(b"jello") t.recv(10)
while 1:
t.send(b"jello")
x.close()