c++ - 如何使用addrinfo初始化sockaddr_in

标签 c++ sockets

void ClientCreate(struct addrinfo * addr, 
                  const char* port) {

  sockaddr_in service;

  service.sin_family = AF_INET;

  service.sin_addr.s_addr = inet_addr ;       /* What do I put here? */ 

  service.sin_port = (u_short)atoi(port); 

我不必使用inet_addr()我知道已经尝试了很多可能没有效果。

还在端口上,MSDN 示例使用了 htons() 但上面的方法有效。

有更好的方法吗?

最佳答案

service.sin_addr.s_addr = inet_addr(What do I put here?);

应该是服务器的IP地址,

//如果服务器是本地主机
service.sin_addr.s_addr = inet_addr("127.0.0.1");

Also on the port the MSDN example used htons()

htons 将主机字节顺序转换为网络字节顺序。

关于c++ - 如何使用addrinfo初始化sockaddr_in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23146286/

相关文章:

c++ - 如何使用模板创建编译时类字段?

c++ - 是否需要在运算符(operator)身上丢弃垃圾?

sockets - 即使一侧 IP 地址发生变化,套接字是否仍保持打开状态?

node.js - Nodejs,如何检测关闭的套接字?

c - 连接到 Redis 时,Unix 套接字比 tcp 慢

c++ - 检查文件是否在应用程序外被修改

c++ - CMake 在 Windows 上找不到 g++ 编译器

c++ - 解包位大小不能被 8 整除的值流

sockets - 单线程 NGINX 如何处理如此多的连接?

java - 强制 socket.connect 在确定连接不可用之前等待特定时间