udp recvfrom 通过公网访问后得到的ip却是自己的外网ip,与动态网或三方监控有关么
int nLen=0;
if (!m_sockBind)//UDP
return FALSE;
struct sockaddr_in remote;
int size = sizeof(sockaddr_in);
fd_set fdread = {1,m_sockBind};
int err;
err = select(m_sockBind,&fdread,NULL,NULL,NULL);
if (SOCKET_ERROR == err)
return FALSE;
if ((nLen = recvfrom(m_sockBind,buf,nSize,0,
(struct sockaddr* )&remote,&size)) == SOCKET_ERROR)
{
return FALSE;
}
if (nLen <= 0)
return FALSE;
strcpy(g_strRecIP,inet_ntoa(remote.sin_addr));
g_sPort = ntohs(remote.sin_port);
LogFun("接收=%d,%d,%s",nSize,nLen,g_strRecIP);
return TRUE;
这是我的 recvfrom 接收数据正确,路由分配的端口 正确 可是为什么收到的地址却不是对方的ip,而是自己的.
请高手们帮忙.难道是有什么网络工具拦截了.(以前都可以的,当然我现在也是铁通局域网访问对方,而对方却得不到ip)
问题二。两块都是100m的普通网卡,为什么当双方都传输数据时候会导致一方(两者相比差一点的网卡)数据严重丢失,可是网卡速率百分比 显示一模一样,但是当 单一方向传输却正常.请高手帮助,
问题解决就结贴 散分. 我初次来这 所以最多就100分.望谅解