Cách tạo kết nối TCP bằng cách sử dụng nc
để nghe nhiều máy chủ?Cách nghe nhiều kết nối tcp bằng cách sử dụng nc
nc -l -p 12345
Cách tạo kết nối TCP bằng cách sử dụng nc
để nghe nhiều máy chủ?Cách nghe nhiều kết nối tcp bằng cách sử dụng nc
nc -l -p 12345
Không thể kết nối đồng thời với netcat
. Bạn nên sử dụng một công cụ như công cụ 's tcpserver
hoặc đòn bẩy xinetd
kể từ khi bạn sử dụng Linux.
Xem: https://superuser.com/questions/232747/netcat-as-a-multithread-server
kết nối liên tiếp có thể được xử lý thông qua một kịch bản shell đó khởi động lại netcat
sau khi nó kết thúc.
nc -k sẽ xử lý các kết nối đến khi kết thúc trước đó và vẫn có thể chấp nhận kết nối thứ hai trong khi xử lý kết nối đầu tiên. – wizulus
-k
Buộc phải nghe kết nối khác sau khi kết nối hiện tại hoàn tất. Đó là lỗi khi sử dụng tùy chọn này mà không có tùy chọn -l.
Điều này không trả lời câu hỏi của OP. Họ muốn có thể nghe hai hoặc nhiều kết nối cùng một lúc, không phải cho các kết nối back-to-back. –
Vâng, và nó hoạt động chính xác theo yêu cầu. Khi kết nối đầu tiên được đóng, nó sẽ in các gói dữ liệu từ gói tiếp theo. Nếu không, bạn sẽ nhận được một mớ hỗn độn với dữ liệu từ các kết nối khác nhau. – excitoon
Đây phải là câu trả lời được chấp nhận. Với -k, netcat sẽ chấp nhận nhiều kết nối, nhưng sẽ chỉ xử lý chúng một lần. Đây là câu trả lời chính xác mà tôi đang tìm kiếm khi tôi truy cập trang này. – wizulus
Tôi khuyên bạn nên socat
làm nc
thay thế.
Đối với sự cố của OP, socat - TCP-LISTEN:12345,fork
có thể thực hiện công việc.
ncat
có thể làm điều đó.
Ví dụ: ncat --broker --listen -p 12345
sẽ phân phối tất cả các tin nhắn đến cho tất cả các khách hàng khác (nghĩ về nó như một trung tâm).
bạn có thể muốn làm rõ liệu bạn đang tìm cách tạo nhiều kết nối TCP ** đến ** 'nc' (ví dụ từ một loạt các ứng dụng khách khác) hay bạn muốn nghe ** trên ** nhiều địa chỉ TCP/IP thay vì nghe trên một và làm cho tiêu đề và văn bản tuân thủ –
@HansZ. nhiều kết nối tcp, do đó nhiều khách hàng kết nối với một ổ cắm duy nhất. –