Computer >> Máy Tính >  >> Kết nối mạng >> Kết nối mạng

Sửa lỗi ổ cắm Python 48

Lỗi Socket 48 là một lỗi python được kích hoạt khi quá trình cố gắng liên kết chính nó với một cổng đã được sử dụng.

Sửa lỗi ổ cắm Python 48

Nguyên nhân gây ra lỗi “socket.error:[Errno 48] Địa chỉ đã được sử dụng”?

Sau khi nghiên cứu ngắn gọn, chúng tôi tìm ra nguyên nhân là:

  • Quy trình liên kết đến cổng: Bất cứ khi nào một quy trình được tạo trên máy chủ, một cổng sẽ được nó sử dụng để giao tiếp với internet. Cổng giống như một máy chủ có thể tiếp đãi từng khách một. Tuy nhiên, nếu bạn không chỉ định cổng, máy chủ chỉ tạo cổng đó trên cổng mặc định. Lần tiếp theo khi bạn tạo quy trình, bạn phải chỉ định một cổng vì cổng mặc định đã được sử dụng.

Giải pháp 1:Chỉ định số cổng

Lỗi chủ yếu được kích hoạt khi một người cố gắng ràng buộc một quy trình cụ thể với cổng mặc định và cổng mặc định đã được liên kết với một quy trình khác. Do đó, trong bước này, chúng tôi sẽ chỉ định cổng mà quy trình sẽ bị ràng buộc.

  1. Rất có thể, bạn đang sử dụng lệnh sau để tạo một quy trình.
     $ python -m SimpleHTTPServer
  2. Thay vì điều này, hãy sử dụng lệnh này để tạo một quy trình.
     $ python -m SimpleHTTPServer (Port Number)
  3. Chờ quá trình được tạo và kiểm tra xem sự cố còn tiếp diễn hay không.

Giải pháp 2:Giải phóng cổng

Nếu cổng đã được một quy trình khác sử dụng, quy trình mới sẽ không thể hoạt động trên cổng đó. Do đó, trong bước này, chúng tôi sẽ giải phóng cổng bằng cách chấm dứt quy trình trước đó và sau đó chạy quy trình mới. Vì điều đó:

  1. Sử dụng lệnh sau để liệt kê một số quy trình sử dụng một cổng cụ thể.
    $ ps -fA | grep python
  2. Đối số lệnh sẽ trông giống như các dòng sau.
     601 88234 12788 0 9:53PM ttys000 0:00.16 python -m SimpleHTTPServer
  3. Do đó, mã quy trình mà chúng tôi sẽ sử dụng để loại bỏ là “88234”.
  4. Sử dụng lệnh sau để kết thúc quá trình.
    kill 88234

    Ngoài ra, bạn có thể sử dụng lệnh sau để diệt nó.

    sudo kill -9 PID
  5. Giờ đây, bạn có thể liên kết quá trình với cổng này bằng cách sử dụng lệnh sau.
     $ python -m SimpleHTTPServer (Port Number)
  6. Quy trình hiện sẽ được tạo.

Giải pháp 3:Khởi động lại Raspberry Pi (Chỉ dành cho Raspberry Pi)

Bạn có thể loại bỏ lỗi này trên Raspberry Pi bằng cách khởi động lại Raspberry Pi hoặc bằng cách giết vỏ thiết bị đầu cuối. Raspberry Pi đôi khi không thể tự động ngắt các quy trình và gây ra lỗi này do các quy trình trước đó đã chạy trên các cổng.