当前位置: 技术问答>linux和unix
ipv6和ipv4的一个问题
来源: 互联网 发布时间:2017-01-25
本文导语: [程序是web后台,运行在linux环境下] 本人创建了一个socket用的是ipv6协议族,tcp数据报,此socket用作服务器socket,接收客户端的连接(为了兼容ipv6故用的是ipv6协议族), 接收客户端连接用的是accept,第二个和第三个参...
[程序是web后台,运行在linux环境下]
本人创建了一个socket用的是ipv6协议族,tcp数据报,此socket用作服务器socket,接收客户端的连接(为了兼容ipv6故用的是ipv6协议族),
接收客户端连接用的是accept,第二个和第三个参数都传入的是0,
在服务器端,想通过getpeername函数获得客户端ipv4地址(因为web页面上要显示客户端的ipv4地址,而不是ipv6地址),但得到的客户端ip却是“0.0.0.0”,报错
”The socket is not connected.“(错误信息是根据错误码打印出来的)。
哪位大侠知道怎么解决啊,很急啊
本人创建了一个socket用的是ipv6协议族,tcp数据报,此socket用作服务器socket,接收客户端的连接(为了兼容ipv6故用的是ipv6协议族),
接收客户端连接用的是accept,第二个和第三个参数都传入的是0,
在服务器端,想通过getpeername函数获得客户端ipv4地址(因为web页面上要显示客户端的ipv4地址,而不是ipv6地址),但得到的客户端ip却是“0.0.0.0”,报错
”The socket is not connected.“(错误信息是根据错误码打印出来的)。
哪位大侠知道怎么解决啊,很急啊
|
ENOTCONN
The socket is not connected or otherwise has not had the peer pre-specified.
不懂帮顶.
|
ipv6服务器,ipv4客户链接,客户的地址会映射成ipv6的格式