ip地址和端口号笔试题

时间:2020-10-28 19:20:45 笔试题目 我要投稿

ip地址和端口号笔试题

我们如何从sin_addr取得此客户端的Ip地址和端口号呢?  在socket编程中,服务器端accept()等待一个客户端的连接,当连接成功后,accept拷贝客户端的.地址信息到sin_addr里面,我们如何从sin_addr取得此客户端的Ip地址和端口号呢?

ip地址和端口号笔试题

  实际上,当sockaddr_in.sin_family = AF_INET时,sockaddr = sockaddr_in。

  据此,我们可以做一下转换,就可以利用 inet_ntoa() 来得到ip地址和端口号了:

  int new_fd = accept(sock, &clientAddr, &sin_size);

  if(new_fd<0)

  {

  char msg[64];

  bzero(msg,sizeof(msg));

  sprintf(msg,"accept failed");

  log::outputSysErr(msg);

  }

  else

  {

  // 将sockaddr强制转换为 sockaddr_in

  sockaddr_in sin;

  memncpy(&sin, &clientAddr, sizoef(sin));

  // 取得ip和端口号

  sprintf(info.ip, inet_ntoa(sin.sin_addr));

  info.port = sin.sin_port;

  info.sock = new_fd;

  }

 

【ip地址和端口号笔试题】相关文章:

查找本地IP/网络IP/对方IP地址图文教程11-20

手机修改ip地址方法08-18

ping不通ip地址的原因08-18

ip地址是怎么分类的08-08

电脑的IP地址怎样设置10-12

win10怎么查看ip地址10-11

win10如何查看ip地址10-10

路由器ip地址设置问题08-08

电脑的IP地址和DNS域名服务器如何设置10-18

路由器的IP地址怎么查找08-11