Tôi đang theo cùng với hướng dẫn của beej để kết nối mạng và nó được thực hiện tốt bởi vì tôi hiểu mọi thứ rất tốt và anh ấy giải thích nó tuyệt vời. Tuy nhiên, khi tôi muốn thử nghiệm một số điều tuyệt vời anh ấy cho tôi thấy, nó sẽ không hoạt động. :(sockaddr_in undeclared identifier
Tôi không chắc chắn nơi chính xác sockaddr_in được khai báo nhưng có lẽ ai đó ở đây như vậy sẽ giúp tôi ra!
Dưới đây là những gì tôi đã cho đến nay (thử nghiệm ra chuyển đổi một ip ở dạng chuỗi để một ip để một 4 byte không thể thiếu và ngược lại):
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
int main(void)
{
sockaddr_in sin;
inet_pton(AF_INET, "192.168.2.1", &sin.in_addr);
char ip[INET_ADDRSTRLEN];
inet_ntop(AF_INET, &sin.in_addr, ip, INET_ADDRSTRLEN);
printf("%s\n", ip);
return 0;
}
một lần nữa tôi hoàn toàn tránh khỏi thất bại như là nơi tất cả mọi thứ là vì vậy nếu nó là một cái gì đó thực sự ngu ngốc trên một phần của tôi, xin lỗi
chỉnh sửa: tôi đang trên một Debian Linux distro được gọi là Mint nếu điều đó giúp ích cho tất cả?
rằng cố định vấn đề chính của tôi! netinet/in.h - ghi lại, cảm ơn! nevermind về các lỗi khác tôi đặt in_addr thay vì s_addr: p – user1169094