[Python cơ bản thường dùng trong công việc] Phần 15 : Socket programming
Chương này sẽ ví dụ việc xây dựng một môi trường Client – Server sử dụng Socket. Server sẽ lắng nghe trên một port (12345) và khi client kết nối vào sẽ thông báo hiển thị thông tin của client (IP và Port) và gởi 1 message xuống cho client.
15.1. Server side
Tạo file server.py
với nội dung bên dưới.
Got connection import socket s = socket.socket() host = socket.gethostname() port = 12345 s.bind((host, port)) s.listen(5) while True: c, addr = s.accept() print 'Got connection from', addr c.send('Thank you for connecting') c.close()
Đoạn code trên khi thực thi sẽ chạy và lắng nghe ở port TCP 12345. Mỗi khi có một kết nối từ client sẽ hiện ra thông báo kết nối từ IP và Port nào, ví dụ:
from Got connection from ('192.168.1.104', 60018) .
Sau đó, gởi trả một message với nội dung Thank you for connecting
về cho client. Sau đó, đóng kết nối với client.
15.2. Client side
Tạo file client.py
với nội dung bên dưới.
import socket s = socket.socket() host = '127.0.0.1' port = 12345 s.connect((host, port)) print s.recv(1024) s.close
Đoạn code trên sẽ kết nối đến một socket server thông qua hostname lấy được từ phương thức socket.gethostname()
và port 12345. Sau khi kết nối, sẽ hiển thị ra kết quả trả về từ server. Sau đó thì đóng kết nối.
<< Phần 14 : Gửi email với SMTP
Xem thêm tuyển dụng python các công ty hot
- K K-GLOB[email protected] 2023: Sự kiện kết nối ngành CNTT Hàn Quốc và Việt Nam
- S Service trong Android là gì? Các loại service trong android
- S Sự khác biệt giữa encodeURI và encodeURIComponent trong JavaScript
- S Sự khác biệt giữa senior developer và developer with seniority
- G Game blockchain là gì? Khám phá tiềm năng thị trường game blockchain
- N Nguyên tắc thiết kế về Component Cohesion trong kiến trúc phần mềm (Principles of Component Cohesion in Software Architectures)
- Đ Đàm đạo về ORM và Query Builder – Sequelize vs Knex!!!
- 7 7 sai lầm lớn khiến việc học Javascript như “nước đổ lá khoai”
- T Tìm hiểu về ExpressJS và những ưu nhược điểm của ExpressJS
- K Kỹ thuật tối ưu Javascript nhằm tăng tốc độ web gấp 2 lần