Tôi đang gặp khó khăn để tìm ra này - Tôi đang làm việc với ổ cắm trong C sử dụng hướng dẫn này - http://binarii.com/files/papers/c_sockets.txtSockets - Làm thế nào để tìm ra những cổng và địa chỉ Tôi đang giao
Tôi đang cố gắng để tự động nhận được ip và cổng của tôi bằng cách sử dụng:
server.sin_port = 0; /* bind() will choose a random port*/
server.sin_addr.s_addr = INADDR_ANY; /* puts server's IP automatically */
...
...
bind(int fd, struct sockaddr *my_addr,int addrlen); // Bind function
Sau khi liên kết thành công, làm cách nào để tìm hiểu IP và Cổng nào tôi thực sự được gán?
Thực ra điều gì đang xảy ra khi bạn chỉ định 'INADDR_ANY' không phải là nó tự động đặt IP của máy chủ, những gì nó làm là tìm tất cả các giao diện và liên kết với từng giao diện. Do đó, bạn có nhiều câu trả lời đúng cho câu hỏi của bạn. – jer
Hmm - cảm ơn jer. Bài tập mà tôi đang thực hiện yêu cầu tôi tự động lấy IP và cổng bằng mã được chỉ định, nhưng tôi sẽ in địa chỉ máy chủ và cổng cho máy khách để kết nối trên màn hình. Đây là những gì tôi đang cố gắng tìm ra cách để làm. Nếu tôi sử dụng cấu trúc sockaddr, tôi chỉ nhận được 0.0.0.0 và cổng 0. – stringo0
Xem http://stackoverflow.com/questions/2496302/how-can-i-obtain-the-local-tcp-port-and-ip -address-of-my-client-program – mark4o