怎么获取socket ip 地址

发布网友 发布时间:2022-04-22 08:27

我来回答

1个回答

热心网友 时间:2022-06-18 15:15

你是想知道代码还是想了解原理,一般的C/S模型都由客户端发出连接请求(客户端在代码中都是存有服务器端的具体ip地址和端口信息(也就是服务器端的INET协议族地址结构)的),当客户端发送连接请求后,服务器端通过a*et函数接收连接请求,a*et函数示例:accept(ServerSocket,(structsockaddr*)&from,&len)(from是一个INET协议族地址结构变量,(structsockaddr*)的作用是把INET协议族地址结构强制转换为通用地址结构),a*et函数在接收连接的同时会把客户端的具体ip和端口信息赋值给from,所以说客户端socket连接的ip(非绑定的话客户机随机绑定ip和端口)是包含在连接报文数据里,服务器端只有接收到客户端发送的连接信息后,才会获得客户端的ip和端口信息,获得具体ip的方式是通过函数,这个函数可以提取出IPv4地址结构中的点分十进制地址,函数用法:inet_ntoa(from.sin_addr)。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com