日期:2014-05-16  浏览次数:20748 次

ipv6和ipv4的一个问题
[程序是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.“(错误信息是根据错误码打印出来的)。

哪位大侠知道怎么解决啊,很急啊

------解决方案--------------------

ENOTCONN
The socket is not connected or otherwise has not had the peer pre-specified.

不懂帮顶.
------解决方案--------------------
ipv6服务器,ipv4客户链接,客户的地址会映射成ipv6的格式