User Tools

Site Tools


rx3:index

This is an old revision of the document!


Réseau L2 Info : Socket en Python 3

Client UDP

#!/usr/bin/python3
import sys
import socket
 
HOST = 'time-c.nist.gov'
PORT = 13                  # daytime  
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(b'', (HOST,PORT))
d = s.recvfrom(1024)
reply = d[0]
addr = d[1]
print 'Server reply : ' + reply
s.close()
print ('Received', data)

Client TCP

#!/usr/bin/python3
import sys
import socket
 
HOST = 'www.labri.fr'     
PORT = 80                 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall(b'GET /\r\n\r\n')
data = s.recv(1024)
s.close()
print ('Received', data)

Serveur UDP

Voici un echo server en version UDP…

#!/usr/bin/python3
import socket
import sys
 
HOST = ''                 # Symbolic name meaning all available interfaces
PORT = 7777               # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)    # ipv4 only
# s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) # ipv4/ipv6
s.bind((HOST, PORT))
 
while True:
  reply, addr = s.recvfrom(1500)
  # if len(reply) == 0: break
  print (reply)  
  s.sendto(reply, addr)

client ipv4/udp:

nc -4 -u localhost 7777

Serveur TCP

Voici un echo server en version TCP…

# Echo server program
import socket
 
HOST = ''                 # Symbolic name meaning all available interfaces
PORT = 50007              # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
with conn:
  print('Connected by', addr)
  while True:
    data = conn.recv(1024)
      if not data: break
        conn.sendall(data)

Documentation

rx3/index.1490347416.txt.gz · Last modified: 2024/03/18 15:05 (external edit)