如何在C中为套接字提供自定义IP



我如何为我的程序提供自定义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])); 

相关内容

  • 没有找到相关文章

最新更新