Các tập tin ổ cắm là gì?


23

Gần đây, tôi bắt đầu sử dụng tmux; Tôi đang cố gắng sử dụng tính năng lập trình cặp trong phần mềm đó. Trong quá trình một tập tin ổ cắm đã được tạo ra. Câu hỏi của tôi là: các tệp socket là gì, làm thế nào để tôi mở chúng trên Ubuntu và chúng được sử dụng như thế nào?

Câu trả lời:


34

Ổ cắm là một loại tệp đặc biệt, tương tự như ổ cắm TCP / IP, cung cấp kết nối mạng giữa các quá trình được bảo vệ bởi kiểm soát truy cập của hệ thống tệp.

Ví dụ: khi bạn mở một ổ cắm nghe trong một thiết bị đầu cuối với netcat:

nc -lU socket.sock

sau đó gửi dữ liệu từ một thiết bị đầu cuối khác bằng cách:

echo mytext | nc -U socket.sock

mytext xuất hiện trên thiết bị đầu cuối đầu tiên.

Theo mặc định, nc dừng nghe sau ký tự End-of-File.


Tôi dường như không có tùy chọn U với nc, tôi có một tùy chọn U lỗi không được xác định. Là socket.sockmột tập tin bạn đã tạo trước đây? Bạn có thể sử dụng tmux -S và sử dụng bộ mô tả tệp ổ cắm (tipicaly 3) từ một trong các đầu của ổ cắm để gửi dữ liệu trên ổ cắm đó không?
aDoN

@aDoN cài đặt nc.openbsd, bạn có nc.traditional.
Cuauhtli

18

Ổ cắm miền unix là một ống hai chiều tương tự như ổ cắm TCP / IP. Một máy chủ lắng nghe và chấp nhận các kết nối từ máy khách, và sau đó có thể giao tiếp với máy khách trên kết nối mới được chấp nhận. Điều đặc biệt ở các socket miền unix là thay vì có địa chỉ IP và số cổng, chúng có tên tệp là địa chỉ của chúng. Điều này cho phép các ứng dụng khác không biết gì về kết nối mạng được mở để mở tệp và đọc hoặc ghi và dữ liệu được gửi đến máy chủ thay vì vào đĩa.


Thật là một ý tưởng đơn giản và thanh lịch!
iono
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.