我如何为我的程序提供自定义ip,我已经构建了一个聊天应用程序,而不是whatsapp,基于jus-cui的简单聊天应用程序。因为我是初学者,我使用了inet_addr((函数,但它说不能分配ip,它只允许本地主机ip(127.0.0.1到127.0.0.254(,你能告诉我,我该怎么办吗?请…。这是我的代码:-
这是有问题的代码:-
struct sockaddr_in serv_addr,cli_addr;
int serv_socket,cli_socket,cli_len = sizeof(cli_addr);
char buff[256];
serv_addr.sin_port = htons(32000);
serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
serv_addr.sin_family = AF_INET;
如果上面的代码没有帮助,这里是我的链接,也许你会在那里找到一些有趣的东西,请给我一个解决方案,我真的需要帮助,请。。。。。。。
https://github.com/BossySmaxx/C-HatAPP.git
从绑定的文档开始,然后是适当的协议ip。
当进程想要接收新的传入数据包或连接时,它应该使用bind(2(将套接字绑定到本地接口地址。在里面在这种情况下,只有一个IP套接字可以绑定到任何给定的本地(地址、端口(对。
您需要向serv_add
提供主机接口的有效ip地址。
你可以这样做来获得一个有效的ip
char *ip;
char buffer[256];
struct hostent *he;
int hostname;
hostname = gethostname(buffer, sizeof(buffer));
he = gethostbyname(buffer);
// ip string
ip = inet_ntoa(*((struct in_addr*) he->h_addr_list[0]));