Tôi hiện đang làm việc trên máy chủ UDP nhận yêu cầu từ khách hàng. Datagram tôi nhận được là một mảng (char) mảng dài 5 phần tử, với hai phần tử cuối cùng là một số cổng.Trích xuất địa chỉ IP và thông tin cổng từ sockaddr_storage
Cuối cùng, máy chủ này sẽ phải trả lại cả địa chỉ IP và số cổng trong một gói dữ liệu của riêng nó.
Tôi đã biết cách sử dụng inet_ntop và cấu trúc sockaddr mà tôi đã kết nối và nhận được từ để in ra ip, nhưng nó trả về một chuỗi không có định dạng tôi muốn. Ví dụ:
string1 = inet_ntop(their_addr.ss_family,get_in_addr(
(struct sockaddr *)&their_addr),s, sizeof s);
lợi nhuận:
127.0.0.1
hay:
[1][2][7][.][0][.][0][.][1]
khi tôi cần một cái gì đó như:
[127][0][0][1]
Tôi có nên sử dụng một số loại nhân vật và thao tác mảng để tạo thành phần tử 4 phần tử của tôi e mảng? Hay một sockaddr có thông tin này theo cách mà tôi có thể để nó ở dạng hex và trả lại nó?
Đây là chính xác những gì tôi đang tìm kiếm. Ngắn gọn và tuyệt vời. Cảm ơn @Kludas – Ryanman