Thiết lập máy chủ mất nhiều công sức hơn một chút so với thiết lập máy khách. Chúng tôi cần bind
đến một cổng nổi tiếng mà khách hàng sẽ sử dụng để kết nối với chúng tôi. Theo tùy chọn, như chúng tôi làm trong công thức này, chúng tôi có thể đặt SO_REUSEADDR
để có thể khởi động lại máy chủ khi nó kết thúc mà không cần đợi vài phút, điều này khá tốt trong quá trình phát triển và thử nghiệm. Chúng tôi cũng có thể tùy chọn gọi listen
để kiểm soát số lượng khách hàng đang chờ kết nối có thể được xếp hàng đợi
Sau bước chuẩn bị này, chúng ta chỉ cần lặp lại, đợi phương thức accept
trả về; . Chúng tôi sử dụng ổ cắm mới để giữ phiên với khách hàng, sau đó quay lại vòng lặp chờ của chúng tôi. Trong công thức này, chúng tôi chỉ phản hồi lại cùng một dữ liệu mà chúng tôi nhận được từ ứng dụng khách
Mô-đun SocketServer
cho phép chúng tôi thực hiện cùng một tác vụ theo cách hướng đối tượng. Sử dụng nó, công thức trở thành
import SocketServer class MyHandler[SocketServer.BaseRequestHandler]: def handle[self]: while 1: dataReceived = self.request.recv[1024] if not dataReceived: break self.request.send[dataReceived] myServer = SocketServer.TCPServer[['',8881], MyHandler] myServer.serve_forever[ ]
Một đối tượng trình xử lý được khởi tạo để phục vụ từng kết nối và ổ cắm mới cho kết nối đó có sẵn cho phương thức handle
của nó [mà máy chủ gọi] là self.request
Đặc biệt nên sử dụng mô-đun SocketServer
thay vì mô-đun
import SocketServer class MyHandler[SocketServer.BaseRequestHandler]: def handle[self]: while 1: dataReceived = self.request.recv[1024] if not dataReceived: break self.request.send[dataReceived] myServer = SocketServer.TCPServer[['',8881], MyHandler] myServer.serve_forever[ ]1 cấp thấp hơn khi chúng tôi muốn có nhiều chức năng hơn. Ví dụ: để tạo ra một luồng mới và riêng biệt cho từng yêu cầu mà chúng tôi phục vụ, chúng tôi chỉ cần thay đổi một dòng mã trong giải pháp cấp cao hơn này
myServer = SocketServer.ThreadingTCPServer[['',8881], MyHandler]
trong khi công thức cấp ổ cắm sẽ cần mã hóa lại nhiều hơn để được chuyển đổi thành một máy chủ đa luồng tương tự
Bạn có muốn tìm hiểu cách mở cổng TCP bằng Python không?
• Ubuntu 18
• Ubuntu 19
• Ubuntu 20
Hướng dẫn liên quan - Python
Trên trang này, chúng tôi cung cấp quyền truy cập nhanh vào danh sách các hướng dẫn liên quan đến Python
Python - Cài đặt trên Windows
Python - Môi trường ảo trên Windows
Python - Môi trường ảo trên Linux
Python - CGI trên Apache
Python - CGI trên Nginx
Python - CGI trên IIS
Hướng dẫn Python - Mở cổng TCP
Tạo tập lệnh Python để mở cổng TCP
Sao chép vào clipboard
Đây là nội dung kịch bản
Sao chép vào clipboard
Thực thi tập lệnh Python để mở cổng TCP
Sao chép vào clipboard
Trong ví dụ của chúng tôi, chúng tôi đã định cấu hình tập lệnh Python để mở cổng TCP 55
Trên máy tính từ xa, hãy kết nối với cổng TCP
Sao chép vào clipboard
Tùy chọn, sử dụng ứng dụng khách Telnet
Đây là đầu ra lệnh
Sao chép vào clipboard
Nhập nội dung nào đó để gửi dữ liệu qua kết nối TCP
Sao chép vào clipboard
Tất cả thông tin nhận được qua kết nối TCP sẽ được hiển thị trên màn hình
Sao chép vào clipboard
Tùy chọn, lưu trữ tất cả dữ liệu nhận được trong một tệp văn bản
Sao chép vào clipboard
Tất cả thông tin nhận được qua kết nối TCP sẽ được lưu vào tệp văn bản có tên TCPLOG
Xin chúc mừng. Bạn có thể mở cổng TCP bằng Python
Bạn có muốn tìm hiểu cách kiểm tra kết nối cổng TCP bằng Python không?
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Trăn 3. 8. 5
Danh sách thiết bị
Phần sau đây trình bày danh sách các thiết bị được sử dụng để tạo hướng dẫn này
Người phục vụ
Chuyển mạng
Máy tính xách tay
Với tư cách là Cộng tác viên của Amazon, tôi kiếm được tiền từ các giao dịch mua đủ điều kiện
Hướng dẫn liên quan - Python
Trên trang này, chúng tôi cung cấp quyền truy cập nhanh vào danh sách các hướng dẫn liên quan đến Python
Python - Cài đặt trên Windows
Python - Môi trường ảo trên Windows
Python - Môi trường ảo trên Linux
Python - CGI trên Apache
Python - CGI trên Nginx
Python - CGI trên IIS
Hướng dẫn Python - Kiểm tra kết nối cổng TCP
Kiểm tra kết nối với cổng TCP bằng Python
Sao chép vào clipboard
Đây là đầu ra lệnh
Sao chép vào clipboard
Xin chúc mừng. Bạn có thể kiểm tra kết nối cổng TCP bằng Python
Hướng dẫn Python - Kiểm tra kết nối cổng TCP bằng tập lệnh
Tạo một tệp văn bản chứa danh sách IP hoặc tên máy chủ
Sao chép vào clipboard
Tạo một tệp văn bản chứa các cổng TCP mong muốn
Sao chép vào clipboard
Kiểm tra khả năng kết nối với các cổng TCP bằng tập lệnh Python
Sao chép vào clipboard
Đây là đầu ra lệnh
Sao chép vào clipboard
Xin chúc mừng. Bạn có thể kiểm tra kết nối cổng TCP bằng tập lệnh Python