Đó là từ câu trả lời này:
https://stackoverflow.com/questions/2482411/is-this-pdo-orms-fixed-now/2482424#2482424
Đó là từ câu trả lời này:
https://stackoverflow.com/questions/2482411/is-this-pdo-orms-fixed-now/2482424#2482424
Câu trả lời:
Một ổ cắm UNIX là một cơ chế giao tiếp liên quá trình cho phép trao đổi dữ liệu hai chiều giữa tiến trình đang chạy trên cùng một máy.
Ổ cắm IP (đặc biệt là ổ cắm TCP / IP) là một cơ chế cho phép giao tiếp giữa các quá trình qua mạng. Trong một số trường hợp, bạn có thể sử dụng ổ cắm TCP / IP để nói chuyện với các tiến trình đang chạy trên cùng một máy tính (bằng cách sử dụng giao diện loopback).
Các socket miền UNIX biết rằng chúng đang thực thi trên cùng một hệ thống, vì vậy chúng có thể tránh một số kiểm tra và thao tác (như định tuyến); mà làm cho chúng nhanh hơn và nhẹ hơn ổ cắm IP. Vì vậy, nếu bạn có kế hoạch giao tiếp với các quy trình trên cùng một máy chủ, đây là một lựa chọn tốt hơn so với ổ cắm IP.
Chỉnh sửa: Theo nhận xét của Nils Toedtmann : Ổ cắm tên miền UNIX phải tuân theo quyền hệ thống tệp, trong khi ổ cắm TCP chỉ có thể được kiểm soát ở cấp độ bộ lọc gói.
Bạn có thể liệt kê các ổ cắm unix cục bộ của máy bằng lệnh sau:
netstat -a -p --unix
Chúc vui vẻ!
netstat
tuy nhiên không hoạt động trên Windows.
Sự khác biệt giữa ổ cắm Unix và ổ cắm TCP / IP là gì?
Ổ cắm TCP / IP được sử dụng để liên lạc qua các mạng TCP / IP. Ổ cắm TCP được kết nối được xác định bởi sự kết hợp của IP cục bộ, cổng cục bộ, IP từ xa và cổng từ xa. Một ổ cắm TCP nghe được xác định bởi cổng cục bộ và có thể là IP cục bộ. AIUI ít nhất trên các socket TCP / IP linux luôn dẫn đến việc tạo và giải mã các gói TCP / IP, ngay cả khi máy khách và máy chủ nằm trên cùng một máy.
Một ổ cắm miền unix (đôi khi được rút ngắn thành ổ cắm unix) mặt khác hoạt động trên một máy duy nhất. Ổ cắm nghe nằm trong hệ thống phân cấp hệ thống tập tin và quyền truy cập vào chúng có thể được kiểm soát bởi các quyền của hệ thống tập tin.
Hơn nữa, một quá trình chấp nhận kết nối trên ổ cắm Unix có thể xác định ID người dùng của quá trình kết nối. Điều này có thể tránh sự cần thiết cho một bước xác thực. Thay vì tạo mật khẩu cho máy chủ cơ sở dữ liệu của bạn và bao gồm một bản sao của mật khẩu trong mã ứng dụng web của bạn, bạn chỉ có thể nói với máy chủ cơ sở dữ liệu rằng người dùng đang chạy ứng dụng web có quyền truy cập vào tài khoản người dùng tương ứng trong cơ sở dữ liệu.
Ổ cắm TCP cũng được xử lý bởi Unix?
Tất nhiên
Ổ cắm TCP là một phần của đặc tả giao thức TCP
Thông số kỹ thuật giao thức Internet chỉ có xu hướng liên quan đến những gì xảy ra trên dây, thông số TCP chứa định nghĩa về Ổ cắm nhưng định nghĩa đó không giống với cách thuật ngữ được sử dụng bởi "API socket".
"API socket" như chúng ta biết, nó được BSD giới thiệu nhưng sau đó đã được sao chép khắp nơi và được đưa vào như một phần của tiêu chuẩn posix. Các công cụ cơ bản cho các socket TCP và UDP có xu hướng giống nhau trên các nền tảng khác nhau nhưng những thứ cao cấp hơn và những thứ tương tác với các bộ phận khác của HĐH khác nhau, ví dụ như trên các hệ thống giống như unix, một socket được xác định bởi một tay cầm tệp và có thể được đọc / ghi bởi các API tệp, đây không phải là trường hợp trên windows.
Một số phần mở rộng cho API socket đã được ghi lại bằng rfcs nhưng những RFC đó chỉ là "thông tin".
hoặc bất kỳ giao thức nào có thể sử dụng IP Sockets?
Khi một ứng dụng tạo ra một socket rõ ràng bằng chức năng "socket" (socket cũng được tạo bởi hàm accept), nó sẽ truyền ba tham số, "domain", "type" và "Protocol". Giữa chúng, ba tham số này có thể được sử dụng để chọn nhiều loại ổ cắm khác nhau.